From faf8037be03e3d61eccda32564a08bd6639b328f Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Thu, 21 Feb 2019 22:49:15 +0000 Subject: [PATCH] Re-generate the parser bindings. --- src/CppParser/Bindings/CLI/Decl.cpp | 32 + src/CppParser/Bindings/CLI/Decl.h | 19 + src/CppParser/Bindings/CLI/Expr.cpp | 8071 +++++ src/CppParser/Bindings/CLI/Expr.h | 4499 +++ src/CppParser/Bindings/CLI/Sources.cpp | 12 +- src/CppParser/Bindings/CLI/Sources.h | 4 +- src/CppParser/Bindings/CLI/Stmt.cpp | 2972 ++ src/CppParser/Bindings/CLI/Stmt.h | 1675 + .../CppSharp.CppParser.cs | 26246 +++++++++++++++- .../CSharp/i686-apple-darwin12.4.0/Std.cs | 26 + .../i686-pc-win32-msvc/CppSharp.CppParser.cs | 26246 +++++++++++++++- .../Bindings/CSharp/i686-pc-win32-msvc/Std.cs | 28 + .../CppSharp.CppParser.cs | 26246 +++++++++++++++- .../CSharp/x86_64-apple-darwin12.4.0/Std.cs | 26 + .../CppSharp.CppParser.cs | 26246 +++++++++++++++- .../CSharp/x86_64-linux-gnu-cxx11abi/Std.cs | 30 + .../x86_64-linux-gnu/CppSharp.CppParser.cs | 26246 +++++++++++++++- .../Bindings/CSharp/x86_64-linux-gnu/Std.cs | 30 + .../CppSharp.CppParser.cs | 26246 +++++++++++++++- .../CSharp/x86_64-pc-win32-msvc/Std.cs | 28 + 20 files changed, 174464 insertions(+), 464 deletions(-) create mode 100644 src/CppParser/Bindings/CLI/Expr.cpp create mode 100644 src/CppParser/Bindings/CLI/Expr.h create mode 100644 src/CppParser/Bindings/CLI/Stmt.cpp create mode 100644 src/CppParser/Bindings/CLI/Stmt.h diff --git a/src/CppParser/Bindings/CLI/Decl.cpp b/src/CppParser/Bindings/CLI/Decl.cpp index 81de06a8..00175313 100644 --- a/src/CppParser/Bindings/CLI/Decl.cpp +++ b/src/CppParser/Bindings/CLI/Decl.cpp @@ -6,6 +6,8 @@ // ---------------------------------------------------------------------------- #include "Decl.h" #include "AST.h" +#include "Expr.h" +#include "Stmt.h" #include "Types.h" using namespace System; @@ -1460,6 +1462,16 @@ void CppSharp::Parser::AST::Parameter::DefaultArgument::set(CppSharp::Parser::AS ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; } +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::Parameter::DefaultArgumentNew::get() +{ + return (((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew); +} + +void CppSharp::Parser::AST::Parameter::DefaultArgumentNew::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + CppSharp::Parser::AST::Function::Function(::CppSharp::CppParser::AST::Function* native) : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) { @@ -1657,6 +1669,16 @@ void CppSharp::Parser::AST::Function::Body::set(System::String^ value) ((::CppSharp::CppParser::AST::Function*)NativePtr)->body = clix::marshalString(value); } +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::Function::BodyStmt::get() +{ + return (((::CppSharp::CppParser::AST::Function*)NativePtr)->bodyStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::Function*)NativePtr)->bodyStmt); +} + +void CppSharp::Parser::AST::Function::BodyStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->bodyStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + CppSharp::Parser::AST::CallingConvention CppSharp::Parser::AST::Function::CallingConvention::get() { return (CppSharp::Parser::AST::CallingConvention)((::CppSharp::CppParser::AST::Function*)NativePtr)->callingConvention; @@ -3708,6 +3730,16 @@ void CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgument::set(CppSh ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; } +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgumentNew::get() +{ + return (((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgumentNew == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgumentNew); +} + +void CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgumentNew::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgumentNew = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + unsigned int CppSharp::Parser::AST::NonTypeTemplateParameter::Position::get() { return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->position; diff --git a/src/CppParser/Bindings/CLI/Decl.h b/src/CppParser/Bindings/CLI/Decl.h index 3a3d7d70..dbd792ea 100644 --- a/src/CppParser/Bindings/CLI/Decl.h +++ b/src/CppParser/Bindings/CLI/Decl.h @@ -62,6 +62,7 @@ namespace CppSharp ref class QualifiedType; ref class RawComment; ref class StatementObsolete; + ref class Stmt; ref class Template; ref class TemplateArgument; ref class TemplateParameter; @@ -856,6 +857,12 @@ namespace CppSharp CppSharp::Parser::AST::ExpressionObsolete^ get(); void set(CppSharp::Parser::AST::ExpressionObsolete^); } + + property CppSharp::Parser::AST::Expr^ DefaultArgumentNew + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } }; public ref class Function : CppSharp::Parser::AST::DeclarationContext @@ -954,6 +961,12 @@ namespace CppSharp void set(System::String^); } + property CppSharp::Parser::AST::Stmt^ BodyStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + property CppSharp::Parser::AST::CallingConvention CallingConvention { CppSharp::Parser::AST::CallingConvention get(); @@ -1918,6 +1931,12 @@ namespace CppSharp void set(CppSharp::Parser::AST::ExpressionObsolete^); } + property CppSharp::Parser::AST::Expr^ DefaultArgumentNew + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + property unsigned int Position { unsigned int get(); diff --git a/src/CppParser/Bindings/CLI/Expr.cpp b/src/CppParser/Bindings/CLI/Expr.cpp new file mode 100644 index 00000000..1900a7a4 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Expr.cpp @@ -0,0 +1,8071 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#include "Expr.h" +#include "Decl.h" +#include "Sources.h" +#include "Stmt.h" +#include "Types.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::AST::Expr::Classification::Classification(::CppSharp::CppParser::AST::Expr::Classification* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::Expr::Classification^ CppSharp::Parser::AST::Expr::Classification::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Expr::Classification((::CppSharp::CppParser::AST::Expr::Classification*) native.ToPointer()); +} + +CppSharp::Parser::AST::Expr::Classification::~Classification() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::Expr::Classification::Classification() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Expr::Classification(); +} + +CppSharp::Parser::AST::Expr::Classification::Classification(CppSharp::Parser::AST::Expr::Classification^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Expr::Classification*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Expr::Classification(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::Expr::Classification::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::Expr::Classification::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::Expr::Classification*)object.ToPointer(); +} + +CppSharp::Parser::AST::Expr::Classification::Kinds CppSharp::Parser::AST::Expr::Classification::Kind::get() +{ + return (CppSharp::Parser::AST::Expr::Classification::Kinds)((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::Expr::Classification::Kind::set(CppSharp::Parser::AST::Expr::Classification::Kinds value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->kind = (::CppSharp::CppParser::AST::Expr::Classification::Kinds)value; +} + +CppSharp::Parser::AST::Expr::Classification::ModifiableType CppSharp::Parser::AST::Expr::Classification::Modifiable::get() +{ + return (CppSharp::Parser::AST::Expr::Classification::ModifiableType)((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->modifiable; +} + +void CppSharp::Parser::AST::Expr::Classification::Modifiable::set(CppSharp::Parser::AST::Expr::Classification::ModifiableType value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->modifiable = (::CppSharp::CppParser::AST::Expr::Classification::ModifiableType)value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsLValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isLValue; +} + +void CppSharp::Parser::AST::Expr::Classification::IsLValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isLValue = value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsXValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isXValue; +} + +void CppSharp::Parser::AST::Expr::Classification::IsXValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isXValue = value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsGLValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isGLValue; +} + +void CppSharp::Parser::AST::Expr::Classification::IsGLValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isGLValue = value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsPRValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isPRValue; +} + +void CppSharp::Parser::AST::Expr::Classification::IsPRValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isPRValue = value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsRValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isRValue; +} + +void CppSharp::Parser::AST::Expr::Classification::IsRValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isRValue = value; +} + +bool CppSharp::Parser::AST::Expr::Classification::IsModifiable::get() +{ + return ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isModifiable; +} + +void CppSharp::Parser::AST::Expr::Classification::IsModifiable::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr::Classification*)NativePtr)->isModifiable = value; +} + +CppSharp::Parser::AST::Expr::Expr(::CppSharp::CppParser::AST::Expr* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::Expr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*) native.ToPointer()); +} + +CppSharp::Parser::AST::Expr::~Expr() +{ +} + +CppSharp::Parser::AST::Expr::Expr() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Expr(); +} + +CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::Expr(__arg0); +} + +CppSharp::Parser::AST::Expr::Expr(CppSharp::Parser::AST::Expr^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Expr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Expr(__arg0); +} + +CppSharp::Parser::AST::Expr::operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::Expr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::Expr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)____ret); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Expr::Type::get() +{ + return (&((::CppSharp::CppParser::AST::Expr*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Expr*)NativePtr)->type); +} + +void CppSharp::Parser::AST::Expr::Type::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->type = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::Expr::ValueDependent::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->valueDependent; +} + +void CppSharp::Parser::AST::Expr::ValueDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->valueDependent = value; +} + +bool CppSharp::Parser::AST::Expr::TypeDependent::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->typeDependent; +} + +void CppSharp::Parser::AST::Expr::TypeDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->typeDependent = value; +} + +bool CppSharp::Parser::AST::Expr::InstantiationDependent::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->instantiationDependent; +} + +void CppSharp::Parser::AST::Expr::InstantiationDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->instantiationDependent = value; +} + +bool CppSharp::Parser::AST::Expr::ContainsUnexpandedParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->containsUnexpandedParameterPack; +} + +void CppSharp::Parser::AST::Expr::ContainsUnexpandedParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->containsUnexpandedParameterPack = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Expr::ExprLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Expr*)NativePtr)->exprLoc); +} + +void CppSharp::Parser::AST::Expr::ExprLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->exprLoc = _marshal0; +} + +bool CppSharp::Parser::AST::Expr::IsLValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isLValue; +} + +void CppSharp::Parser::AST::Expr::IsLValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isLValue = value; +} + +bool CppSharp::Parser::AST::Expr::IsRValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isRValue; +} + +void CppSharp::Parser::AST::Expr::IsRValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isRValue = value; +} + +bool CppSharp::Parser::AST::Expr::IsXValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isXValue; +} + +void CppSharp::Parser::AST::Expr::IsXValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isXValue = value; +} + +bool CppSharp::Parser::AST::Expr::IsGLValue::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isGLValue; +} + +void CppSharp::Parser::AST::Expr::IsGLValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isGLValue = value; +} + +bool CppSharp::Parser::AST::Expr::IsOrdinaryOrBitFieldObject::get() +{ + return ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isOrdinaryOrBitFieldObject; +} + +void CppSharp::Parser::AST::Expr::IsOrdinaryOrBitFieldObject::set(bool value) +{ + ((::CppSharp::CppParser::AST::Expr*)NativePtr)->isOrdinaryOrBitFieldObject = value; +} + +CppSharp::Parser::AST::FullExpr::FullExpr(::CppSharp::CppParser::AST::FullExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::FullExpr^ CppSharp::Parser::AST::FullExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::FullExpr::~FullExpr() +{ +} + +CppSharp::Parser::AST::FullExpr::FullExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FullExpr(); +} + +CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::FullExpr(__arg0); +} + +CppSharp::Parser::AST::FullExpr::FullExpr(CppSharp::Parser::AST::FullExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FullExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FullExpr(__arg0); +} + +CppSharp::Parser::AST::FullExpr::operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::FullExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::FullExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)____ret); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::FullExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::FullExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::FullExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::FullExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::FullExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::ConstantExpr::ConstantExpr(::CppSharp::CppParser::AST::ConstantExpr* native) + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)native) +{ +} + +CppSharp::Parser::AST::ConstantExpr^ CppSharp::Parser::AST::ConstantExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ConstantExpr((::CppSharp::CppParser::AST::ConstantExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ConstantExpr::~ConstantExpr() +{ +} + +CppSharp::Parser::AST::ConstantExpr::ConstantExpr() + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ConstantExpr(); +} + +CppSharp::Parser::AST::ConstantExpr::ConstantExpr(CppSharp::Parser::AST::ConstantExpr^ _0) + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ConstantExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ConstantExpr(__arg0); +} + +CppSharp::Parser::AST::OpaqueValueExpr::OpaqueValueExpr(::CppSharp::CppParser::AST::OpaqueValueExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::OpaqueValueExpr^ CppSharp::Parser::AST::OpaqueValueExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::OpaqueValueExpr((::CppSharp::CppParser::AST::OpaqueValueExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::OpaqueValueExpr::~OpaqueValueExpr() +{ +} + +CppSharp::Parser::AST::OpaqueValueExpr::OpaqueValueExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::OpaqueValueExpr(); +} + +CppSharp::Parser::AST::OpaqueValueExpr::OpaqueValueExpr(CppSharp::Parser::AST::OpaqueValueExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::OpaqueValueExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::OpaqueValueExpr(__arg0); +} + +bool CppSharp::Parser::AST::OpaqueValueExpr::IsUnique::get() +{ + return ((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->isUnique; +} + +void CppSharp::Parser::AST::OpaqueValueExpr::IsUnique::set(bool value) +{ + ((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->isUnique = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OpaqueValueExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::OpaqueValueExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::OpaqueValueExpr::SourceExpr::get() +{ + return (((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->sourceExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->sourceExpr); +} + +void CppSharp::Parser::AST::OpaqueValueExpr::SourceExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::OpaqueValueExpr*)NativePtr)->sourceExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::DeclRefExpr::DeclRefExpr(::CppSharp::CppParser::AST::DeclRefExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::DeclRefExpr^ CppSharp::Parser::AST::DeclRefExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DeclRefExpr((::CppSharp::CppParser::AST::DeclRefExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::DeclRefExpr::~DeclRefExpr() +{ +} + +CppSharp::Parser::AST::DeclRefExpr::DeclRefExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DeclRefExpr(); +} + +CppSharp::Parser::AST::DeclRefExpr::DeclRefExpr(CppSharp::Parser::AST::DeclRefExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DeclRefExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DeclRefExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DeclRefExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::DeclRefExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->location = _marshal0; +} + +bool CppSharp::Parser::AST::DeclRefExpr::HadMultipleCandidates::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hadMultipleCandidates; +} + +void CppSharp::Parser::AST::DeclRefExpr::HadMultipleCandidates::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hadMultipleCandidates = value; +} + +bool CppSharp::Parser::AST::DeclRefExpr::HasQualifier::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasQualifier; +} + +void CppSharp::Parser::AST::DeclRefExpr::HasQualifier::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasQualifier = value; +} + +bool CppSharp::Parser::AST::DeclRefExpr::HasTemplateKWAndArgsInfo::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasTemplateKWAndArgsInfo; +} + +void CppSharp::Parser::AST::DeclRefExpr::HasTemplateKWAndArgsInfo::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasTemplateKWAndArgsInfo = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DeclRefExpr::TemplateKeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->templateKeywordLoc); +} + +void CppSharp::Parser::AST::DeclRefExpr::TemplateKeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->templateKeywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DeclRefExpr::LAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->lAngleLoc); +} + +void CppSharp::Parser::AST::DeclRefExpr::LAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->lAngleLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DeclRefExpr::RAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->rAngleLoc); +} + +void CppSharp::Parser::AST::DeclRefExpr::RAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->rAngleLoc = _marshal0; +} + +bool CppSharp::Parser::AST::DeclRefExpr::HasTemplateKeyword::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasTemplateKeyword; +} + +void CppSharp::Parser::AST::DeclRefExpr::HasTemplateKeyword::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasTemplateKeyword = value; +} + +bool CppSharp::Parser::AST::DeclRefExpr::HasExplicitTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasExplicitTemplateArgs; +} + +void CppSharp::Parser::AST::DeclRefExpr::HasExplicitTemplateArgs::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->hasExplicitTemplateArgs = value; +} + +unsigned int CppSharp::Parser::AST::DeclRefExpr::NumTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->numTemplateArgs; +} + +void CppSharp::Parser::AST::DeclRefExpr::NumTemplateArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->numTemplateArgs = value; +} + +bool CppSharp::Parser::AST::DeclRefExpr::RefersToEnclosingVariableOrCapture::get() +{ + return ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->refersToEnclosingVariableOrCapture; +} + +void CppSharp::Parser::AST::DeclRefExpr::RefersToEnclosingVariableOrCapture::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclRefExpr*)NativePtr)->refersToEnclosingVariableOrCapture = value; +} + +CppSharp::Parser::AST::IntegerLiteral::IntegerLiteral(::CppSharp::CppParser::AST::IntegerLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::IntegerLiteral^ CppSharp::Parser::AST::IntegerLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::IntegerLiteral((::CppSharp::CppParser::AST::IntegerLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::IntegerLiteral::~IntegerLiteral() +{ +} + +CppSharp::Parser::AST::IntegerLiteral::IntegerLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::IntegerLiteral(); +} + +CppSharp::Parser::AST::IntegerLiteral::IntegerLiteral(CppSharp::Parser::AST::IntegerLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::IntegerLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::IntegerLiteral(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::IntegerLiteral::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::IntegerLiteral*)NativePtr)->location); +} + +void CppSharp::Parser::AST::IntegerLiteral::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::IntegerLiteral*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::FixedPointLiteral::FixedPointLiteral(::CppSharp::CppParser::AST::FixedPointLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::FixedPointLiteral^ CppSharp::Parser::AST::FixedPointLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FixedPointLiteral((::CppSharp::CppParser::AST::FixedPointLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::FixedPointLiteral::~FixedPointLiteral() +{ +} + +CppSharp::Parser::AST::FixedPointLiteral::FixedPointLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FixedPointLiteral(); +} + +CppSharp::Parser::AST::FixedPointLiteral::FixedPointLiteral(CppSharp::Parser::AST::FixedPointLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FixedPointLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FixedPointLiteral(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::FixedPointLiteral::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::FixedPointLiteral*)NativePtr)->location); +} + +void CppSharp::Parser::AST::FixedPointLiteral::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::FixedPointLiteral*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::CharacterLiteral::CharacterLiteral(::CppSharp::CppParser::AST::CharacterLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CharacterLiteral^ CppSharp::Parser::AST::CharacterLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CharacterLiteral((::CppSharp::CppParser::AST::CharacterLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::CharacterLiteral::~CharacterLiteral() +{ +} + +CppSharp::Parser::AST::CharacterLiteral::CharacterLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CharacterLiteral(); +} + +CppSharp::Parser::AST::CharacterLiteral::CharacterLiteral(CppSharp::Parser::AST::CharacterLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CharacterLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CharacterLiteral(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CharacterLiteral::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CharacterLiteral::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::CharacterLiteral::CharacterKind CppSharp::Parser::AST::CharacterLiteral::Kind::get() +{ + return (CppSharp::Parser::AST::CharacterLiteral::CharacterKind)((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::CharacterLiteral::Kind::set(CppSharp::Parser::AST::CharacterLiteral::CharacterKind value) +{ + ((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->kind = (::CppSharp::CppParser::AST::CharacterLiteral::CharacterKind)value; +} + +unsigned int CppSharp::Parser::AST::CharacterLiteral::Value::get() +{ + return ((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->value; +} + +void CppSharp::Parser::AST::CharacterLiteral::Value::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CharacterLiteral*)NativePtr)->value = value; +} + +CppSharp::Parser::AST::FloatingLiteral::FloatingLiteral(::CppSharp::CppParser::AST::FloatingLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::FloatingLiteral^ CppSharp::Parser::AST::FloatingLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FloatingLiteral((::CppSharp::CppParser::AST::FloatingLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::FloatingLiteral::~FloatingLiteral() +{ +} + +CppSharp::Parser::AST::FloatingLiteral::FloatingLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FloatingLiteral(); +} + +CppSharp::Parser::AST::FloatingLiteral::FloatingLiteral(CppSharp::Parser::AST::FloatingLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FloatingLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FloatingLiteral(__arg0); +} + +bool CppSharp::Parser::AST::FloatingLiteral::Exact::get() +{ + return ((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->exact; +} + +void CppSharp::Parser::AST::FloatingLiteral::Exact::set(bool value) +{ + ((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->exact = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::FloatingLiteral::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->location); +} + +void CppSharp::Parser::AST::FloatingLiteral::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->location = _marshal0; +} + +double CppSharp::Parser::AST::FloatingLiteral::ValueAsApproximateDouble::get() +{ + return ((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->valueAsApproximateDouble; +} + +void CppSharp::Parser::AST::FloatingLiteral::ValueAsApproximateDouble::set(double value) +{ + ((::CppSharp::CppParser::AST::FloatingLiteral*)NativePtr)->valueAsApproximateDouble = value; +} + +CppSharp::Parser::AST::ImaginaryLiteral::ImaginaryLiteral(::CppSharp::CppParser::AST::ImaginaryLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ImaginaryLiteral^ CppSharp::Parser::AST::ImaginaryLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ImaginaryLiteral((::CppSharp::CppParser::AST::ImaginaryLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::ImaginaryLiteral::~ImaginaryLiteral() +{ +} + +CppSharp::Parser::AST::ImaginaryLiteral::ImaginaryLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ImaginaryLiteral(); +} + +CppSharp::Parser::AST::ImaginaryLiteral::ImaginaryLiteral(CppSharp::Parser::AST::ImaginaryLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ImaginaryLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ImaginaryLiteral(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ImaginaryLiteral::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::ImaginaryLiteral*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ImaginaryLiteral*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::ImaginaryLiteral::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ImaginaryLiteral*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::StringLiteral::StringLiteral(::CppSharp::CppParser::AST::StringLiteral* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::StringLiteral^ CppSharp::Parser::AST::StringLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::StringLiteral((::CppSharp::CppParser::AST::StringLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::StringLiteral::~StringLiteral() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::StringLiteral*) __nativePtr; + } +} + +CppSharp::Parser::AST::StringLiteral::StringLiteral() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::StringLiteral(); +} + +CppSharp::Parser::AST::StringLiteral::StringLiteral(CppSharp::Parser::AST::StringLiteral^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::StringLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::StringLiteral(__arg0); +} + +System::String^ CppSharp::Parser::AST::StringLiteral::String::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->string); +} + +void CppSharp::Parser::AST::StringLiteral::String::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->string = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::StringLiteral::Bytes::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->bytes); +} + +void CppSharp::Parser::AST::StringLiteral::Bytes::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->bytes = clix::marshalString(value); +} + +unsigned int CppSharp::Parser::AST::StringLiteral::ByteLength::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->byteLength; +} + +void CppSharp::Parser::AST::StringLiteral::ByteLength::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->byteLength = value; +} + +unsigned int CppSharp::Parser::AST::StringLiteral::Length::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->length; +} + +void CppSharp::Parser::AST::StringLiteral::Length::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->length = value; +} + +unsigned int CppSharp::Parser::AST::StringLiteral::CharByteWidth::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->charByteWidth; +} + +void CppSharp::Parser::AST::StringLiteral::CharByteWidth::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->charByteWidth = value; +} + +CppSharp::Parser::AST::StringLiteral::StringKind CppSharp::Parser::AST::StringLiteral::Kind::get() +{ + return (CppSharp::Parser::AST::StringLiteral::StringKind)((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::StringLiteral::Kind::set(CppSharp::Parser::AST::StringLiteral::StringKind value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->kind = (::CppSharp::CppParser::AST::StringLiteral::StringKind)value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsAscii::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isAscii; +} + +void CppSharp::Parser::AST::StringLiteral::IsAscii::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isAscii = value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsWide::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isWide; +} + +void CppSharp::Parser::AST::StringLiteral::IsWide::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isWide = value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsUTF8::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF8; +} + +void CppSharp::Parser::AST::StringLiteral::IsUTF8::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF8 = value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsUTF16::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF16; +} + +void CppSharp::Parser::AST::StringLiteral::IsUTF16::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF16 = value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsUTF32::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF32; +} + +void CppSharp::Parser::AST::StringLiteral::IsUTF32::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isUTF32 = value; +} + +bool CppSharp::Parser::AST::StringLiteral::IsPascal::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isPascal; +} + +void CppSharp::Parser::AST::StringLiteral::IsPascal::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->isPascal = value; +} + +bool CppSharp::Parser::AST::StringLiteral::ContainsNonAscii::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->containsNonAscii; +} + +void CppSharp::Parser::AST::StringLiteral::ContainsNonAscii::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->containsNonAscii = value; +} + +bool CppSharp::Parser::AST::StringLiteral::ContainsNonAsciiOrNull::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->containsNonAsciiOrNull; +} + +void CppSharp::Parser::AST::StringLiteral::ContainsNonAsciiOrNull::set(bool value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->containsNonAsciiOrNull = value; +} + +unsigned int CppSharp::Parser::AST::StringLiteral::NumConcatenated::get() +{ + return ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->numConcatenated; +} + +void CppSharp::Parser::AST::StringLiteral::NumConcatenated::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::StringLiteral*)NativePtr)->numConcatenated = value; +} + +CppSharp::Parser::AST::PredefinedExpr::PredefinedExpr(::CppSharp::CppParser::AST::PredefinedExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::PredefinedExpr^ CppSharp::Parser::AST::PredefinedExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PredefinedExpr((::CppSharp::CppParser::AST::PredefinedExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::PredefinedExpr::~PredefinedExpr() +{ +} + +CppSharp::Parser::AST::PredefinedExpr::PredefinedExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PredefinedExpr(); +} + +CppSharp::Parser::AST::PredefinedExpr::PredefinedExpr(CppSharp::Parser::AST::PredefinedExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PredefinedExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PredefinedExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::PredefinedExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::PredefinedExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::PredefinedExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::PredefinedExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::PredefinedExpr::IdentKind CppSharp::Parser::AST::PredefinedExpr::identKind::get() +{ + return (CppSharp::Parser::AST::PredefinedExpr::IdentKind)((::CppSharp::CppParser::AST::PredefinedExpr*)NativePtr)->identKind; +} + +void CppSharp::Parser::AST::PredefinedExpr::identKind::set(CppSharp::Parser::AST::PredefinedExpr::IdentKind value) +{ + ((::CppSharp::CppParser::AST::PredefinedExpr*)NativePtr)->identKind = (::CppSharp::CppParser::AST::PredefinedExpr::IdentKind)value; +} + +CppSharp::Parser::AST::ParenExpr::ParenExpr(::CppSharp::CppParser::AST::ParenExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ParenExpr^ CppSharp::Parser::AST::ParenExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ParenExpr((::CppSharp::CppParser::AST::ParenExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ParenExpr::~ParenExpr() +{ +} + +CppSharp::Parser::AST::ParenExpr::ParenExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ParenExpr(); +} + +CppSharp::Parser::AST::ParenExpr::ParenExpr(CppSharp::Parser::AST::ParenExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ParenExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ParenExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ParenExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::ParenExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ParenExpr::LParen::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->lParen); +} + +void CppSharp::Parser::AST::ParenExpr::LParen::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->lParen = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ParenExpr::RParen::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->rParen); +} + +void CppSharp::Parser::AST::ParenExpr::RParen::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ParenExpr*)NativePtr)->rParen = _marshal0; +} + +CppSharp::Parser::AST::UnaryOperator::UnaryOperator(::CppSharp::CppParser::AST::UnaryOperator* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::UnaryOperator^ CppSharp::Parser::AST::UnaryOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UnaryOperator((::CppSharp::CppParser::AST::UnaryOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::UnaryOperator::~UnaryOperator() +{ +} + +CppSharp::Parser::AST::UnaryOperator::UnaryOperator() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UnaryOperator(); +} + +CppSharp::Parser::AST::UnaryOperator::UnaryOperator(CppSharp::Parser::AST::UnaryOperator^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UnaryOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UnaryOperator(__arg0); +} + +CppSharp::Parser::AST::UnaryOperatorKind CppSharp::Parser::AST::UnaryOperator::Opcode::get() +{ + return (CppSharp::Parser::AST::UnaryOperatorKind)((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->opcode; +} + +void CppSharp::Parser::AST::UnaryOperator::Opcode::set(CppSharp::Parser::AST::UnaryOperatorKind value) +{ + ((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->opcode = (::CppSharp::CppParser::AST::UnaryOperatorKind)value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::UnaryOperator::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::UnaryOperator::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UnaryOperator::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::UnaryOperator::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->operatorLoc = _marshal0; +} + +bool CppSharp::Parser::AST::UnaryOperator::CanOverflow::get() +{ + return ((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->canOverflow; +} + +void CppSharp::Parser::AST::UnaryOperator::CanOverflow::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnaryOperator*)NativePtr)->canOverflow = value; +} + +CppSharp::Parser::AST::OffsetOfExpr::OffsetOfExpr(::CppSharp::CppParser::AST::OffsetOfExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::OffsetOfExpr^ CppSharp::Parser::AST::OffsetOfExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::OffsetOfExpr((::CppSharp::CppParser::AST::OffsetOfExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::OffsetOfExpr::~OffsetOfExpr() +{ +} + +CppSharp::Parser::AST::OffsetOfExpr::OffsetOfExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::OffsetOfExpr(); +} + +CppSharp::Parser::AST::OffsetOfExpr::OffsetOfExpr(CppSharp::Parser::AST::OffsetOfExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::OffsetOfExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::OffsetOfExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OffsetOfExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::OffsetOfExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OffsetOfExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::OffsetOfExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->rParenLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::OffsetOfExpr::NumComponents::get() +{ + return ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->numComponents; +} + +void CppSharp::Parser::AST::OffsetOfExpr::NumComponents::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->numComponents = value; +} + +unsigned int CppSharp::Parser::AST::OffsetOfExpr::NumExpressions::get() +{ + return ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->numExpressions; +} + +void CppSharp::Parser::AST::OffsetOfExpr::NumExpressions::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::OffsetOfExpr*)NativePtr)->numExpressions = value; +} + +CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr(::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr^ CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::~UnaryExprOrTypeTraitExpr() +{ +} + +CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr(); +} + +CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr(CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr(__arg0); +} + +CppSharp::Parser::AST::UnaryExprOrTypeTrait CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::Kind::get() +{ + return (CppSharp::Parser::AST::UnaryExprOrTypeTrait)((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::Kind::set(CppSharp::Parser::AST::UnaryExprOrTypeTrait value) +{ + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->kind = (::CppSharp::CppParser::AST::UnaryExprOrTypeTrait)value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->rParenLoc = _marshal0; +} + +bool CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::IsArgumentType::get() +{ + return ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->isArgumentType; +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::IsArgumentType::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->isArgumentType = value; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::ArgumentType::get() +{ + return (&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->argumentType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->argumentType); +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::ArgumentType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->argumentType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::TypeOfArgument::get() +{ + return (&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->typeOfArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->typeOfArgument); +} + +void CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr::TypeOfArgument::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr*)NativePtr)->typeOfArgument = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::ArraySubscriptExpr::ArraySubscriptExpr(::CppSharp::CppParser::AST::ArraySubscriptExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ArraySubscriptExpr^ CppSharp::Parser::AST::ArraySubscriptExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ArraySubscriptExpr((::CppSharp::CppParser::AST::ArraySubscriptExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ArraySubscriptExpr::~ArraySubscriptExpr() +{ +} + +CppSharp::Parser::AST::ArraySubscriptExpr::ArraySubscriptExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ArraySubscriptExpr(); +} + +CppSharp::Parser::AST::ArraySubscriptExpr::ArraySubscriptExpr(CppSharp::Parser::AST::ArraySubscriptExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ArraySubscriptExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ArraySubscriptExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ArraySubscriptExpr::LHS::get() +{ + return (((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::ArraySubscriptExpr::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ArraySubscriptExpr::RHS::get() +{ + return (((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::ArraySubscriptExpr::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ArraySubscriptExpr::RBracketLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->rBracketLoc); +} + +void CppSharp::Parser::AST::ArraySubscriptExpr::RBracketLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ArraySubscriptExpr*)NativePtr)->rBracketLoc = _marshal0; +} + +CppSharp::Parser::AST::CallExpr::CallExpr(::CppSharp::CppParser::AST::CallExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CallExpr^ CppSharp::Parser::AST::CallExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CallExpr::~CallExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CallExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CallExpr::CallExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CallExpr(); +} + +CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CallExpr::Getarguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->getarguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::CallExpr::Addarguments(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->addarguments(__arg0); +} + +void CppSharp::Parser::AST::CallExpr::Cleararguments() +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->cleararguments(); +} + +CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::CallExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CallExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0); +} + +CppSharp::Parser::AST::CallExpr::operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::CallExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::CallExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)____ret); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CallExpr::Arguments::get() +{ + auto _tmp__arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__arguments->Add(_marshalElement); + } + return _tmp__arguments; +} + +void CppSharp::Parser::AST::CallExpr::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->arguments = _tmpvalue; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CallExpr::Callee::get() +{ + return (((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->callee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->callee); +} + +void CppSharp::Parser::AST::CallExpr::Callee::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->callee = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CallExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CallExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->rParenLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::CallExpr::NumArgs::get() +{ + return ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->numArgs; +} + +void CppSharp::Parser::AST::CallExpr::NumArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->numArgs = value; +} + +unsigned int CppSharp::Parser::AST::CallExpr::NumCommas::get() +{ + return ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->numCommas; +} + +void CppSharp::Parser::AST::CallExpr::NumCommas::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->numCommas = value; +} + +unsigned int CppSharp::Parser::AST::CallExpr::BuiltinCallee::get() +{ + return ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->builtinCallee; +} + +void CppSharp::Parser::AST::CallExpr::BuiltinCallee::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->builtinCallee = value; +} + +bool CppSharp::Parser::AST::CallExpr::IsCallToStdMove::get() +{ + return ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->isCallToStdMove; +} + +void CppSharp::Parser::AST::CallExpr::IsCallToStdMove::set(bool value) +{ + ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->isCallToStdMove = value; +} + +unsigned int CppSharp::Parser::AST::CallExpr::GetargumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->getargumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::MemberExpr::MemberExpr(::CppSharp::CppParser::AST::MemberExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::MemberExpr^ CppSharp::Parser::AST::MemberExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MemberExpr((::CppSharp::CppParser::AST::MemberExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::MemberExpr::~MemberExpr() +{ +} + +CppSharp::Parser::AST::MemberExpr::MemberExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MemberExpr(); +} + +CppSharp::Parser::AST::MemberExpr::MemberExpr(CppSharp::Parser::AST::MemberExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MemberExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MemberExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::MemberExpr::Base::get() +{ + return (((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->base == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->base); +} + +void CppSharp::Parser::AST::MemberExpr::Base::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->base = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::MemberExpr::Arrow::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->arrow; +} + +void CppSharp::Parser::AST::MemberExpr::Arrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->arrow = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MemberExpr::MemberLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->memberLoc); +} + +void CppSharp::Parser::AST::MemberExpr::MemberLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->memberLoc = _marshal0; +} + +bool CppSharp::Parser::AST::MemberExpr::HadMultipleCandidates::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hadMultipleCandidates; +} + +void CppSharp::Parser::AST::MemberExpr::HadMultipleCandidates::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hadMultipleCandidates = value; +} + +bool CppSharp::Parser::AST::MemberExpr::HasQualifier::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasQualifier; +} + +void CppSharp::Parser::AST::MemberExpr::HasQualifier::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasQualifier = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MemberExpr::TemplateKeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->templateKeywordLoc); +} + +void CppSharp::Parser::AST::MemberExpr::TemplateKeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->templateKeywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MemberExpr::LAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->lAngleLoc); +} + +void CppSharp::Parser::AST::MemberExpr::LAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->lAngleLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MemberExpr::RAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->rAngleLoc); +} + +void CppSharp::Parser::AST::MemberExpr::RAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->rAngleLoc = _marshal0; +} + +bool CppSharp::Parser::AST::MemberExpr::HasTemplateKeyword::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasTemplateKeyword; +} + +void CppSharp::Parser::AST::MemberExpr::HasTemplateKeyword::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasTemplateKeyword = value; +} + +bool CppSharp::Parser::AST::MemberExpr::HasExplicitTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasExplicitTemplateArgs; +} + +void CppSharp::Parser::AST::MemberExpr::HasExplicitTemplateArgs::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->hasExplicitTemplateArgs = value; +} + +unsigned int CppSharp::Parser::AST::MemberExpr::NumTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->numTemplateArgs; +} + +void CppSharp::Parser::AST::MemberExpr::NumTemplateArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->numTemplateArgs = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MemberExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::MemberExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->operatorLoc = _marshal0; +} + +bool CppSharp::Parser::AST::MemberExpr::IsImplicitAccess::get() +{ + return ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->isImplicitAccess; +} + +void CppSharp::Parser::AST::MemberExpr::IsImplicitAccess::set(bool value) +{ + ((::CppSharp::CppParser::AST::MemberExpr*)NativePtr)->isImplicitAccess = value; +} + +CppSharp::Parser::AST::CompoundLiteralExpr::CompoundLiteralExpr(::CppSharp::CppParser::AST::CompoundLiteralExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CompoundLiteralExpr^ CppSharp::Parser::AST::CompoundLiteralExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CompoundLiteralExpr((::CppSharp::CppParser::AST::CompoundLiteralExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CompoundLiteralExpr::~CompoundLiteralExpr() +{ +} + +CppSharp::Parser::AST::CompoundLiteralExpr::CompoundLiteralExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CompoundLiteralExpr(); +} + +CppSharp::Parser::AST::CompoundLiteralExpr::CompoundLiteralExpr(CppSharp::Parser::AST::CompoundLiteralExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CompoundLiteralExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CompoundLiteralExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CompoundLiteralExpr::Initializer::get() +{ + return (((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->initializer == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->initializer); +} + +void CppSharp::Parser::AST::CompoundLiteralExpr::Initializer::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->initializer = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CompoundLiteralExpr::FileScope::get() +{ + return ((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->fileScope; +} + +void CppSharp::Parser::AST::CompoundLiteralExpr::FileScope::set(bool value) +{ + ((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->fileScope = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CompoundLiteralExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::CompoundLiteralExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CompoundLiteralExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::AST::CastExpr::CastExpr(::CppSharp::CppParser::AST::CastExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CastExpr^ CppSharp::Parser::AST::CastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CastExpr::~CastExpr() +{ +} + +CppSharp::Parser::AST::CastExpr::CastExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CastExpr(); +} + +CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::CastExpr(__arg0); +} + +CppSharp::Parser::AST::CastExpr::CastExpr(CppSharp::Parser::AST::CastExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CastExpr(__arg0); +} + +CppSharp::Parser::AST::CastExpr::operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::CastExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::CastExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)____ret); +} + +CppSharp::Parser::AST::CastKind CppSharp::Parser::AST::CastExpr::CastKind::get() +{ + return (CppSharp::Parser::AST::CastKind)((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->castKind; +} + +void CppSharp::Parser::AST::CastExpr::CastKind::set(CppSharp::Parser::AST::CastKind value) +{ + ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->castKind = (::CppSharp::CppParser::AST::CastKind)value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CastExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::CastExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::CastExpr::ConversionFunction::get() +{ + return (((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->conversionFunction == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->conversionFunction); +} + +void CppSharp::Parser::AST::CastExpr::ConversionFunction::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->conversionFunction = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CastExpr::PathEmpty::get() +{ + return ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->path_empty; +} + +void CppSharp::Parser::AST::CastExpr::PathEmpty::set(bool value) +{ + ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->path_empty = value; +} + +unsigned int CppSharp::Parser::AST::CastExpr::PathSize::get() +{ + return ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->path_size; +} + +void CppSharp::Parser::AST::CastExpr::PathSize::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CastExpr*)NativePtr)->path_size = value; +} + +CppSharp::Parser::AST::ImplicitCastExpr::ImplicitCastExpr(::CppSharp::CppParser::AST::ImplicitCastExpr* native) + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)native) +{ +} + +CppSharp::Parser::AST::ImplicitCastExpr^ CppSharp::Parser::AST::ImplicitCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ImplicitCastExpr((::CppSharp::CppParser::AST::ImplicitCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ImplicitCastExpr::~ImplicitCastExpr() +{ +} + +CppSharp::Parser::AST::ImplicitCastExpr::ImplicitCastExpr() + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ImplicitCastExpr(); +} + +CppSharp::Parser::AST::ImplicitCastExpr::ImplicitCastExpr(CppSharp::Parser::AST::ImplicitCastExpr^ _0) + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ImplicitCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ImplicitCastExpr(__arg0); +} + +bool CppSharp::Parser::AST::ImplicitCastExpr::IsPartOfExplicitCast::get() +{ + return ((::CppSharp::CppParser::AST::ImplicitCastExpr*)NativePtr)->isPartOfExplicitCast; +} + +void CppSharp::Parser::AST::ImplicitCastExpr::IsPartOfExplicitCast::set(bool value) +{ + ((::CppSharp::CppParser::AST::ImplicitCastExpr*)NativePtr)->isPartOfExplicitCast = value; +} + +CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(::CppSharp::CppParser::AST::ExplicitCastExpr* native) + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)native) +{ +} + +CppSharp::Parser::AST::ExplicitCastExpr^ CppSharp::Parser::AST::ExplicitCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ExplicitCastExpr::~ExplicitCastExpr() +{ +} + +CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr() + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr(); +} + +CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__arg0); +} + +CppSharp::Parser::AST::ExplicitCastExpr::ExplicitCastExpr(CppSharp::Parser::AST::ExplicitCastExpr^ _0) + : CppSharp::Parser::AST::CastExpr((::CppSharp::CppParser::AST::CastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ExplicitCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__arg0); +} + +CppSharp::Parser::AST::ExplicitCastExpr::operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::ExplicitCastExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::ExplicitCastExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)____ret); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::ExplicitCastExpr::TypeAsWritten::get() +{ + return (&((::CppSharp::CppParser::AST::ExplicitCastExpr*)NativePtr)->typeAsWritten == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::ExplicitCastExpr*)NativePtr)->typeAsWritten); +} + +void CppSharp::Parser::AST::ExplicitCastExpr::TypeAsWritten::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::ExplicitCastExpr*)NativePtr)->typeAsWritten = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::CStyleCastExpr::CStyleCastExpr(::CppSharp::CppParser::AST::CStyleCastExpr* native) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CStyleCastExpr^ CppSharp::Parser::AST::CStyleCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CStyleCastExpr((::CppSharp::CppParser::AST::CStyleCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CStyleCastExpr::~CStyleCastExpr() +{ +} + +CppSharp::Parser::AST::CStyleCastExpr::CStyleCastExpr() + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CStyleCastExpr(); +} + +CppSharp::Parser::AST::CStyleCastExpr::CStyleCastExpr(CppSharp::Parser::AST::CStyleCastExpr^ _0) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CStyleCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CStyleCastExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CStyleCastExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CStyleCastExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::CStyleCastExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CStyleCastExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CStyleCastExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CStyleCastExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CStyleCastExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CStyleCastExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::BinaryOperator::BinaryOperator(::CppSharp::CppParser::AST::BinaryOperator* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::BinaryOperator^ CppSharp::Parser::AST::BinaryOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::BinaryOperator::~BinaryOperator() +{ +} + +CppSharp::Parser::AST::BinaryOperator::BinaryOperator() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(); +} + +CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0); +} + +CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::BinaryOperator^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BinaryOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0); +} + +CppSharp::Parser::AST::BinaryOperator::operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::BinaryOperator) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::BinaryOperator(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*)____ret); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::BinaryOperator::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::BinaryOperator::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::AST::BinaryOperatorKind CppSharp::Parser::AST::BinaryOperator::Opcode::get() +{ + return (CppSharp::Parser::AST::BinaryOperatorKind)((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->opcode; +} + +void CppSharp::Parser::AST::BinaryOperator::Opcode::set(CppSharp::Parser::AST::BinaryOperatorKind value) +{ + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->opcode = (::CppSharp::CppParser::AST::BinaryOperatorKind)value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::BinaryOperator::LHS::get() +{ + return (((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::BinaryOperator::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::BinaryOperator::RHS::get() +{ + return (((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::BinaryOperator::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::BinaryOperator::IsFPContractableWithinStatement::get() +{ + return ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->isFPContractableWithinStatement; +} + +void CppSharp::Parser::AST::BinaryOperator::IsFPContractableWithinStatement::set(bool value) +{ + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->isFPContractableWithinStatement = value; +} + +bool CppSharp::Parser::AST::BinaryOperator::IsFEnvAccessOn::get() +{ + return ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->isFEnvAccessOn; +} + +void CppSharp::Parser::AST::BinaryOperator::IsFEnvAccessOn::set(bool value) +{ + ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->isFEnvAccessOn = value; +} + +CppSharp::Parser::AST::CompoundAssignOperator::CompoundAssignOperator(::CppSharp::CppParser::AST::CompoundAssignOperator* native) + : CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*)native) +{ +} + +CppSharp::Parser::AST::CompoundAssignOperator^ CppSharp::Parser::AST::CompoundAssignOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CompoundAssignOperator((::CppSharp::CppParser::AST::CompoundAssignOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::CompoundAssignOperator::~CompoundAssignOperator() +{ +} + +CppSharp::Parser::AST::CompoundAssignOperator::CompoundAssignOperator() + : CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CompoundAssignOperator(); +} + +CppSharp::Parser::AST::CompoundAssignOperator::CompoundAssignOperator(CppSharp::Parser::AST::CompoundAssignOperator^ _0) + : CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CompoundAssignOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CompoundAssignOperator(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CompoundAssignOperator::ComputationLHSType::get() +{ + return (&((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationLHSType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationLHSType); +} + +void CppSharp::Parser::AST::CompoundAssignOperator::ComputationLHSType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationLHSType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CompoundAssignOperator::ComputationResultType::get() +{ + return (&((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationResultType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationResultType); +} + +void CppSharp::Parser::AST::CompoundAssignOperator::ComputationResultType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CompoundAssignOperator*)NativePtr)->computationResultType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(::CppSharp::CppParser::AST::AbstractConditionalOperator* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::AbstractConditionalOperator^ CppSharp::Parser::AST::AbstractConditionalOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::AbstractConditionalOperator::~AbstractConditionalOperator() +{ +} + +CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(); +} + +CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__arg0); +} + +CppSharp::Parser::AST::AbstractConditionalOperator::AbstractConditionalOperator(CppSharp::Parser::AST::AbstractConditionalOperator^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AbstractConditionalOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__arg0); +} + +CppSharp::Parser::AST::AbstractConditionalOperator::operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::AbstractConditionalOperator) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::AbstractConditionalOperator(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)____ret); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AbstractConditionalOperator::Cond::get() +{ + return (((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::AbstractConditionalOperator::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AbstractConditionalOperator::TrueExpr::get() +{ + return (((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->trueExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->trueExpr); +} + +void CppSharp::Parser::AST::AbstractConditionalOperator::TrueExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->trueExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AbstractConditionalOperator::FalseExpr::get() +{ + return (((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->falseExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->falseExpr); +} + +void CppSharp::Parser::AST::AbstractConditionalOperator::FalseExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->falseExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AbstractConditionalOperator::QuestionLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->questionLoc); +} + +void CppSharp::Parser::AST::AbstractConditionalOperator::QuestionLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->questionLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AbstractConditionalOperator::ColonLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->colonLoc); +} + +void CppSharp::Parser::AST::AbstractConditionalOperator::ColonLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AbstractConditionalOperator*)NativePtr)->colonLoc = _marshal0; +} + +CppSharp::Parser::AST::ConditionalOperator::ConditionalOperator(::CppSharp::CppParser::AST::ConditionalOperator* native) + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)native) +{ +} + +CppSharp::Parser::AST::ConditionalOperator^ CppSharp::Parser::AST::ConditionalOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ConditionalOperator((::CppSharp::CppParser::AST::ConditionalOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::ConditionalOperator::~ConditionalOperator() +{ +} + +CppSharp::Parser::AST::ConditionalOperator::ConditionalOperator() + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ConditionalOperator(); +} + +CppSharp::Parser::AST::ConditionalOperator::ConditionalOperator(CppSharp::Parser::AST::ConditionalOperator^ _0) + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ConditionalOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ConditionalOperator(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ConditionalOperator::LHS::get() +{ + return (((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::ConditionalOperator::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ConditionalOperator::RHS::get() +{ + return (((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::ConditionalOperator::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ConditionalOperator*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::BinaryConditionalOperator::BinaryConditionalOperator(::CppSharp::CppParser::AST::BinaryConditionalOperator* native) + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)native) +{ +} + +CppSharp::Parser::AST::BinaryConditionalOperator^ CppSharp::Parser::AST::BinaryConditionalOperator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BinaryConditionalOperator((::CppSharp::CppParser::AST::BinaryConditionalOperator*) native.ToPointer()); +} + +CppSharp::Parser::AST::BinaryConditionalOperator::~BinaryConditionalOperator() +{ +} + +CppSharp::Parser::AST::BinaryConditionalOperator::BinaryConditionalOperator() + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BinaryConditionalOperator(); +} + +CppSharp::Parser::AST::BinaryConditionalOperator::BinaryConditionalOperator(CppSharp::Parser::AST::BinaryConditionalOperator^ _0) + : CppSharp::Parser::AST::AbstractConditionalOperator((::CppSharp::CppParser::AST::AbstractConditionalOperator*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BinaryConditionalOperator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BinaryConditionalOperator(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::BinaryConditionalOperator::Common::get() +{ + return (((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->common == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->common); +} + +void CppSharp::Parser::AST::BinaryConditionalOperator::Common::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->common = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::OpaqueValueExpr^ CppSharp::Parser::AST::BinaryConditionalOperator::OpaqueValue::get() +{ + return (((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->opaqueValue == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::OpaqueValueExpr((::CppSharp::CppParser::AST::OpaqueValueExpr*)((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->opaqueValue); +} + +void CppSharp::Parser::AST::BinaryConditionalOperator::OpaqueValue::set(CppSharp::Parser::AST::OpaqueValueExpr^ value) +{ + ((::CppSharp::CppParser::AST::BinaryConditionalOperator*)NativePtr)->opaqueValue = (::CppSharp::CppParser::AST::OpaqueValueExpr*)value->NativePtr; +} + +CppSharp::Parser::AST::AddrLabelExpr::AddrLabelExpr(::CppSharp::CppParser::AST::AddrLabelExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::AddrLabelExpr^ CppSharp::Parser::AST::AddrLabelExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AddrLabelExpr((::CppSharp::CppParser::AST::AddrLabelExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::AddrLabelExpr::~AddrLabelExpr() +{ +} + +CppSharp::Parser::AST::AddrLabelExpr::AddrLabelExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AddrLabelExpr(); +} + +CppSharp::Parser::AST::AddrLabelExpr::AddrLabelExpr(CppSharp::Parser::AST::AddrLabelExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AddrLabelExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AddrLabelExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AddrLabelExpr::AmpAmpLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AddrLabelExpr*)NativePtr)->ampAmpLoc); +} + +void CppSharp::Parser::AST::AddrLabelExpr::AmpAmpLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AddrLabelExpr*)NativePtr)->ampAmpLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AddrLabelExpr::LabelLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AddrLabelExpr*)NativePtr)->labelLoc); +} + +void CppSharp::Parser::AST::AddrLabelExpr::LabelLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AddrLabelExpr*)NativePtr)->labelLoc = _marshal0; +} + +CppSharp::Parser::AST::StmtExpr::StmtExpr(::CppSharp::CppParser::AST::StmtExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::StmtExpr^ CppSharp::Parser::AST::StmtExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::StmtExpr((::CppSharp::CppParser::AST::StmtExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::StmtExpr::~StmtExpr() +{ +} + +CppSharp::Parser::AST::StmtExpr::StmtExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::StmtExpr(); +} + +CppSharp::Parser::AST::StmtExpr::StmtExpr(CppSharp::Parser::AST::StmtExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::StmtExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::StmtExpr(__arg0); +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::StmtExpr::SubStmt::get() +{ + return (((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->subStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->subStmt); +} + +void CppSharp::Parser::AST::StmtExpr::SubStmt::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->subStmt = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::StmtExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::StmtExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::StmtExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::StmtExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::StmtExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::ShuffleVectorExpr::ShuffleVectorExpr(::CppSharp::CppParser::AST::ShuffleVectorExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ShuffleVectorExpr^ CppSharp::Parser::AST::ShuffleVectorExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ShuffleVectorExpr((::CppSharp::CppParser::AST::ShuffleVectorExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ShuffleVectorExpr::~ShuffleVectorExpr() +{ +} + +CppSharp::Parser::AST::ShuffleVectorExpr::ShuffleVectorExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ShuffleVectorExpr(); +} + +CppSharp::Parser::AST::ShuffleVectorExpr::ShuffleVectorExpr(CppSharp::Parser::AST::ShuffleVectorExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ShuffleVectorExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ShuffleVectorExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ShuffleVectorExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::ShuffleVectorExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ShuffleVectorExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::ShuffleVectorExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->rParenLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::ShuffleVectorExpr::NumSubExprs::get() +{ + return ((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->numSubExprs; +} + +void CppSharp::Parser::AST::ShuffleVectorExpr::NumSubExprs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::ShuffleVectorExpr*)NativePtr)->numSubExprs = value; +} + +CppSharp::Parser::AST::ConvertVectorExpr::ConvertVectorExpr(::CppSharp::CppParser::AST::ConvertVectorExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ConvertVectorExpr^ CppSharp::Parser::AST::ConvertVectorExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ConvertVectorExpr((::CppSharp::CppParser::AST::ConvertVectorExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ConvertVectorExpr::~ConvertVectorExpr() +{ +} + +CppSharp::Parser::AST::ConvertVectorExpr::ConvertVectorExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ConvertVectorExpr(); +} + +CppSharp::Parser::AST::ConvertVectorExpr::ConvertVectorExpr(CppSharp::Parser::AST::ConvertVectorExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ConvertVectorExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ConvertVectorExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ConvertVectorExpr::SrcExpr::get() +{ + return (((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->srcExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->srcExpr); +} + +void CppSharp::Parser::AST::ConvertVectorExpr::SrcExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->srcExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ConvertVectorExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::ConvertVectorExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ConvertVectorExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::ConvertVectorExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ConvertVectorExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::ChooseExpr::ChooseExpr(::CppSharp::CppParser::AST::ChooseExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ChooseExpr^ CppSharp::Parser::AST::ChooseExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ChooseExpr((::CppSharp::CppParser::AST::ChooseExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ChooseExpr::~ChooseExpr() +{ +} + +CppSharp::Parser::AST::ChooseExpr::ChooseExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ChooseExpr(); +} + +CppSharp::Parser::AST::ChooseExpr::ChooseExpr(CppSharp::Parser::AST::ChooseExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ChooseExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ChooseExpr(__arg0); +} + +bool CppSharp::Parser::AST::ChooseExpr::IsConditionTrue::get() +{ + return ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->isConditionTrue; +} + +void CppSharp::Parser::AST::ChooseExpr::IsConditionTrue::set(bool value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->isConditionTrue = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ChooseExpr::Cond::get() +{ + return (((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::ChooseExpr::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ChooseExpr::LHS::get() +{ + return (((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::ChooseExpr::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ChooseExpr::RHS::get() +{ + return (((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::ChooseExpr::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ChooseExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::ChooseExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ChooseExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::ChooseExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->rParenLoc = _marshal0; +} + +bool CppSharp::Parser::AST::ChooseExpr::IsConditionDependent::get() +{ + return ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->isConditionDependent; +} + +void CppSharp::Parser::AST::ChooseExpr::IsConditionDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->isConditionDependent = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ChooseExpr::ChosenSubExpr::get() +{ + return (((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->chosenSubExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->chosenSubExpr); +} + +void CppSharp::Parser::AST::ChooseExpr::ChosenSubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ChooseExpr*)NativePtr)->chosenSubExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::GNUNullExpr::GNUNullExpr(::CppSharp::CppParser::AST::GNUNullExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::GNUNullExpr^ CppSharp::Parser::AST::GNUNullExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::GNUNullExpr((::CppSharp::CppParser::AST::GNUNullExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::GNUNullExpr::~GNUNullExpr() +{ +} + +CppSharp::Parser::AST::GNUNullExpr::GNUNullExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::GNUNullExpr(); +} + +CppSharp::Parser::AST::GNUNullExpr::GNUNullExpr(CppSharp::Parser::AST::GNUNullExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::GNUNullExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::GNUNullExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GNUNullExpr::TokenLocation::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GNUNullExpr*)NativePtr)->tokenLocation); +} + +void CppSharp::Parser::AST::GNUNullExpr::TokenLocation::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GNUNullExpr*)NativePtr)->tokenLocation = _marshal0; +} + +CppSharp::Parser::AST::VAArgExpr::VAArgExpr(::CppSharp::CppParser::AST::VAArgExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::VAArgExpr^ CppSharp::Parser::AST::VAArgExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VAArgExpr((::CppSharp::CppParser::AST::VAArgExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::VAArgExpr::~VAArgExpr() +{ +} + +CppSharp::Parser::AST::VAArgExpr::VAArgExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VAArgExpr(); +} + +CppSharp::Parser::AST::VAArgExpr::VAArgExpr(CppSharp::Parser::AST::VAArgExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VAArgExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VAArgExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::VAArgExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::VAArgExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::VAArgExpr::IsMicrosoftABI::get() +{ + return ((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->isMicrosoftABI; +} + +void CppSharp::Parser::AST::VAArgExpr::IsMicrosoftABI::set(bool value) +{ + ((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->isMicrosoftABI = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::VAArgExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::VAArgExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::VAArgExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::VAArgExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::VAArgExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::InitListExpr::InitListExpr(::CppSharp::CppParser::AST::InitListExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::InitListExpr^ CppSharp::Parser::AST::InitListExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::InitListExpr((::CppSharp::CppParser::AST::InitListExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::InitListExpr::~InitListExpr() +{ +} + +CppSharp::Parser::AST::InitListExpr::InitListExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::InitListExpr(); +} + +CppSharp::Parser::AST::InitListExpr::InitListExpr(CppSharp::Parser::AST::InitListExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::InitListExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::InitListExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::InitListExpr::ArrayFiller::get() +{ + return (((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->arrayFiller == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->arrayFiller); +} + +void CppSharp::Parser::AST::InitListExpr::ArrayFiller::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->arrayFiller = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::InitListExpr::LBraceLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->lBraceLoc); +} + +void CppSharp::Parser::AST::InitListExpr::LBraceLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->lBraceLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::InitListExpr::RBraceLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->rBraceLoc); +} + +void CppSharp::Parser::AST::InitListExpr::RBraceLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->rBraceLoc = _marshal0; +} + +CppSharp::Parser::AST::InitListExpr^ CppSharp::Parser::AST::InitListExpr::SyntacticForm::get() +{ + return (((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->syntacticForm == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::InitListExpr((::CppSharp::CppParser::AST::InitListExpr*)((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->syntacticForm); +} + +void CppSharp::Parser::AST::InitListExpr::SyntacticForm::set(CppSharp::Parser::AST::InitListExpr^ value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->syntacticForm = (::CppSharp::CppParser::AST::InitListExpr*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::InitListExpr::NumInits::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->numInits; +} + +void CppSharp::Parser::AST::InitListExpr::NumInits::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->numInits = value; +} + +bool CppSharp::Parser::AST::InitListExpr::HasArrayFiller::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->hasArrayFiller; +} + +void CppSharp::Parser::AST::InitListExpr::HasArrayFiller::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->hasArrayFiller = value; +} + +bool CppSharp::Parser::AST::InitListExpr::IsExplicit::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isExplicit; +} + +void CppSharp::Parser::AST::InitListExpr::IsExplicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isExplicit = value; +} + +bool CppSharp::Parser::AST::InitListExpr::IsStringLiteralInit::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isStringLiteralInit; +} + +void CppSharp::Parser::AST::InitListExpr::IsStringLiteralInit::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isStringLiteralInit = value; +} + +bool CppSharp::Parser::AST::InitListExpr::IsTransparent::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isTransparent; +} + +void CppSharp::Parser::AST::InitListExpr::IsTransparent::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isTransparent = value; +} + +bool CppSharp::Parser::AST::InitListExpr::IsSemanticForm::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isSemanticForm; +} + +void CppSharp::Parser::AST::InitListExpr::IsSemanticForm::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isSemanticForm = value; +} + +CppSharp::Parser::AST::InitListExpr^ CppSharp::Parser::AST::InitListExpr::SemanticForm::get() +{ + return (((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->semanticForm == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::InitListExpr((::CppSharp::CppParser::AST::InitListExpr*)((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->semanticForm); +} + +void CppSharp::Parser::AST::InitListExpr::SemanticForm::set(CppSharp::Parser::AST::InitListExpr^ value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->semanticForm = (::CppSharp::CppParser::AST::InitListExpr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::InitListExpr::IsSyntacticForm::get() +{ + return ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isSyntacticForm; +} + +void CppSharp::Parser::AST::InitListExpr::IsSyntacticForm::set(bool value) +{ + ((::CppSharp::CppParser::AST::InitListExpr*)NativePtr)->isSyntacticForm = value; +} + +CppSharp::Parser::AST::DesignatedInitExpr::Designator::Designator(::CppSharp::CppParser::AST::DesignatedInitExpr::Designator* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::DesignatedInitExpr::Designator^ CppSharp::Parser::AST::DesignatedInitExpr::Designator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DesignatedInitExpr::Designator((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*) native.ToPointer()); +} + +CppSharp::Parser::AST::DesignatedInitExpr::Designator::~Designator() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::DesignatedInitExpr::Designator::Designator() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::Designator(); +} + +CppSharp::Parser::AST::DesignatedInitExpr::Designator::Designator(CppSharp::Parser::AST::DesignatedInitExpr::Designator^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::Designator(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::DesignatedInitExpr::Designator::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)object.ToPointer(); +} + +CppSharp::Parser::AST::Field^ CppSharp::Parser::AST::DesignatedInitExpr::Designator::Field::get() +{ + return (((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->field == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*)((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->field); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::Field::set(CppSharp::Parser::AST::Field^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->field = (::CppSharp::CppParser::AST::Field*)value->NativePtr; +} + +bool CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsFieldDesignator::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isFieldDesignator; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsFieldDesignator::set(bool value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isFieldDesignator = value; +} + +bool CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsArrayDesignator::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isArrayDesignator; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsArrayDesignator::set(bool value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isArrayDesignator = value; +} + +bool CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsArrayRangeDesignator::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isArrayRangeDesignator; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::IsArrayRangeDesignator::set(bool value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->isArrayRangeDesignator = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::Designator::DotLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->dotLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::DotLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->dotLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::Designator::FieldLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->fieldLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::FieldLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->fieldLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::Designator::LBracketLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->lBracketLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::LBracketLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->lBracketLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::Designator::RBracketLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->rBracketLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::RBracketLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->rBracketLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::Designator::EllipsisLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->ellipsisLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::EllipsisLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->ellipsisLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::DesignatedInitExpr::Designator::FirstExprIndex::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->firstExprIndex; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::FirstExprIndex::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->firstExprIndex = value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::DesignatedInitExpr::Designator::SourceRange::get() +{ + return (&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->sourceRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->sourceRange); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Designator::SourceRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr::Designator*)NativePtr)->sourceRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::FieldDesignator(::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator^ CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator((::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator*) native.ToPointer()); +} + +CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::~FieldDesignator() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::FieldDesignator() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator(); +} + +CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::FieldDesignator(CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator*)object.ToPointer(); +} +CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::ArrayOrRangeDesignator(::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator^ CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator((::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator*) native.ToPointer()); +} + +CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::~ArrayOrRangeDesignator() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::ArrayOrRangeDesignator() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator(); +} + +CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::ArrayOrRangeDesignator(CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator*)object.ToPointer(); +} +CppSharp::Parser::AST::DesignatedInitExpr::DesignatedInitExpr(::CppSharp::CppParser::AST::DesignatedInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::DesignatedInitExpr^ CppSharp::Parser::AST::DesignatedInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DesignatedInitExpr((::CppSharp::CppParser::AST::DesignatedInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::DesignatedInitExpr::~DesignatedInitExpr() +{ +} + +CppSharp::Parser::AST::DesignatedInitExpr::DesignatedInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr(); +} + +CppSharp::Parser::AST::DesignatedInitExpr::DesignatedInitExpr(CppSharp::Parser::AST::DesignatedInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DesignatedInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DesignatedInitExpr::EqualOrColonLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->equalOrColonLoc); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::EqualOrColonLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->equalOrColonLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::DesignatedInitExpr::Init::get() +{ + return (((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->init); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Init::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->init = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::DesignatedInitExpr::Size::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->size; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::Size::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->size = value; +} + +bool CppSharp::Parser::AST::DesignatedInitExpr::UsesGNUSyntax::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->usesGNUSyntax; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::UsesGNUSyntax::set(bool value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->usesGNUSyntax = value; +} + +unsigned int CppSharp::Parser::AST::DesignatedInitExpr::NumSubExprs::get() +{ + return ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->numSubExprs; +} + +void CppSharp::Parser::AST::DesignatedInitExpr::NumSubExprs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->numSubExprs = value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::DesignatedInitExpr::DesignatorsSourceRange::get() +{ + return (&((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->designatorsSourceRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->designatorsSourceRange); +} + +void CppSharp::Parser::AST::DesignatedInitExpr::DesignatorsSourceRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitExpr*)NativePtr)->designatorsSourceRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +CppSharp::Parser::AST::NoInitExpr::NoInitExpr(::CppSharp::CppParser::AST::NoInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::NoInitExpr^ CppSharp::Parser::AST::NoInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::NoInitExpr((::CppSharp::CppParser::AST::NoInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::NoInitExpr::~NoInitExpr() +{ +} + +CppSharp::Parser::AST::NoInitExpr::NoInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::NoInitExpr(); +} + +CppSharp::Parser::AST::NoInitExpr::NoInitExpr(CppSharp::Parser::AST::NoInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::NoInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::NoInitExpr(__arg0); +} + +CppSharp::Parser::AST::DesignatedInitUpdateExpr::DesignatedInitUpdateExpr(::CppSharp::CppParser::AST::DesignatedInitUpdateExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::DesignatedInitUpdateExpr^ CppSharp::Parser::AST::DesignatedInitUpdateExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DesignatedInitUpdateExpr((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::DesignatedInitUpdateExpr::~DesignatedInitUpdateExpr() +{ +} + +CppSharp::Parser::AST::DesignatedInitUpdateExpr::DesignatedInitUpdateExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitUpdateExpr(); +} + +CppSharp::Parser::AST::DesignatedInitUpdateExpr::DesignatedInitUpdateExpr(CppSharp::Parser::AST::DesignatedInitUpdateExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DesignatedInitUpdateExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::DesignatedInitUpdateExpr::Base::get() +{ + return (((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->base == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->base); +} + +void CppSharp::Parser::AST::DesignatedInitUpdateExpr::Base::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->base = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::InitListExpr^ CppSharp::Parser::AST::DesignatedInitUpdateExpr::Updater::get() +{ + return (((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->updater == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::InitListExpr((::CppSharp::CppParser::AST::InitListExpr*)((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->updater); +} + +void CppSharp::Parser::AST::DesignatedInitUpdateExpr::Updater::set(CppSharp::Parser::AST::InitListExpr^ value) +{ + ((::CppSharp::CppParser::AST::DesignatedInitUpdateExpr*)NativePtr)->updater = (::CppSharp::CppParser::AST::InitListExpr*)value->NativePtr; +} + +CppSharp::Parser::AST::ArrayInitLoopExpr::ArrayInitLoopExpr(::CppSharp::CppParser::AST::ArrayInitLoopExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ArrayInitLoopExpr^ CppSharp::Parser::AST::ArrayInitLoopExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ArrayInitLoopExpr((::CppSharp::CppParser::AST::ArrayInitLoopExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ArrayInitLoopExpr::~ArrayInitLoopExpr() +{ +} + +CppSharp::Parser::AST::ArrayInitLoopExpr::ArrayInitLoopExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ArrayInitLoopExpr(); +} + +CppSharp::Parser::AST::ArrayInitLoopExpr::ArrayInitLoopExpr(CppSharp::Parser::AST::ArrayInitLoopExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ArrayInitLoopExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ArrayInitLoopExpr(__arg0); +} + +CppSharp::Parser::AST::OpaqueValueExpr^ CppSharp::Parser::AST::ArrayInitLoopExpr::CommonExpr::get() +{ + return (((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->commonExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::OpaqueValueExpr((::CppSharp::CppParser::AST::OpaqueValueExpr*)((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->commonExpr); +} + +void CppSharp::Parser::AST::ArrayInitLoopExpr::CommonExpr::set(CppSharp::Parser::AST::OpaqueValueExpr^ value) +{ + ((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->commonExpr = (::CppSharp::CppParser::AST::OpaqueValueExpr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ArrayInitLoopExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::ArrayInitLoopExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ArrayInitLoopExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::ArrayInitIndexExpr::ArrayInitIndexExpr(::CppSharp::CppParser::AST::ArrayInitIndexExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ArrayInitIndexExpr^ CppSharp::Parser::AST::ArrayInitIndexExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ArrayInitIndexExpr((::CppSharp::CppParser::AST::ArrayInitIndexExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ArrayInitIndexExpr::~ArrayInitIndexExpr() +{ +} + +CppSharp::Parser::AST::ArrayInitIndexExpr::ArrayInitIndexExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ArrayInitIndexExpr(); +} + +CppSharp::Parser::AST::ArrayInitIndexExpr::ArrayInitIndexExpr(CppSharp::Parser::AST::ArrayInitIndexExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ArrayInitIndexExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ArrayInitIndexExpr(__arg0); +} + +CppSharp::Parser::AST::ImplicitValueInitExpr::ImplicitValueInitExpr(::CppSharp::CppParser::AST::ImplicitValueInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ImplicitValueInitExpr^ CppSharp::Parser::AST::ImplicitValueInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ImplicitValueInitExpr((::CppSharp::CppParser::AST::ImplicitValueInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ImplicitValueInitExpr::~ImplicitValueInitExpr() +{ +} + +CppSharp::Parser::AST::ImplicitValueInitExpr::ImplicitValueInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ImplicitValueInitExpr(); +} + +CppSharp::Parser::AST::ImplicitValueInitExpr::ImplicitValueInitExpr(CppSharp::Parser::AST::ImplicitValueInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ImplicitValueInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ImplicitValueInitExpr(__arg0); +} + +CppSharp::Parser::AST::ParenListExpr::ParenListExpr(::CppSharp::CppParser::AST::ParenListExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ParenListExpr^ CppSharp::Parser::AST::ParenListExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ParenListExpr((::CppSharp::CppParser::AST::ParenListExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ParenListExpr::~ParenListExpr() +{ +} + +CppSharp::Parser::AST::ParenListExpr::ParenListExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ParenListExpr(); +} + +CppSharp::Parser::AST::ParenListExpr::ParenListExpr(CppSharp::Parser::AST::ParenListExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ParenListExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ParenListExpr(__arg0); +} + +unsigned int CppSharp::Parser::AST::ParenListExpr::NumExprs::get() +{ + return ((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->numExprs; +} + +void CppSharp::Parser::AST::ParenListExpr::NumExprs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->numExprs = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ParenListExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::ParenListExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ParenListExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::ParenListExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ParenListExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::GenericSelectionExpr::GenericSelectionExpr(::CppSharp::CppParser::AST::GenericSelectionExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::GenericSelectionExpr^ CppSharp::Parser::AST::GenericSelectionExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::GenericSelectionExpr((::CppSharp::CppParser::AST::GenericSelectionExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::GenericSelectionExpr::~GenericSelectionExpr() +{ +} + +CppSharp::Parser::AST::GenericSelectionExpr::GenericSelectionExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::GenericSelectionExpr(); +} + +CppSharp::Parser::AST::GenericSelectionExpr::GenericSelectionExpr(CppSharp::Parser::AST::GenericSelectionExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::GenericSelectionExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::GenericSelectionExpr(__arg0); +} + +unsigned int CppSharp::Parser::AST::GenericSelectionExpr::NumAssocs::get() +{ + return ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->numAssocs; +} + +void CppSharp::Parser::AST::GenericSelectionExpr::NumAssocs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->numAssocs = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GenericSelectionExpr::GenericLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->genericLoc); +} + +void CppSharp::Parser::AST::GenericSelectionExpr::GenericLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->genericLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GenericSelectionExpr::DefaultLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->defaultLoc); +} + +void CppSharp::Parser::AST::GenericSelectionExpr::DefaultLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->defaultLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GenericSelectionExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::GenericSelectionExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->rParenLoc = _marshal0; +} + +bool CppSharp::Parser::AST::GenericSelectionExpr::IsResultDependent::get() +{ + return ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->isResultDependent; +} + +void CppSharp::Parser::AST::GenericSelectionExpr::IsResultDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->isResultDependent = value; +} + +unsigned int CppSharp::Parser::AST::GenericSelectionExpr::ResultIndex::get() +{ + return ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->resultIndex; +} + +void CppSharp::Parser::AST::GenericSelectionExpr::ResultIndex::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::GenericSelectionExpr*)NativePtr)->resultIndex = value; +} + +CppSharp::Parser::AST::ExtVectorElementExpr::ExtVectorElementExpr(::CppSharp::CppParser::AST::ExtVectorElementExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ExtVectorElementExpr^ CppSharp::Parser::AST::ExtVectorElementExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ExtVectorElementExpr((::CppSharp::CppParser::AST::ExtVectorElementExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ExtVectorElementExpr::~ExtVectorElementExpr() +{ +} + +CppSharp::Parser::AST::ExtVectorElementExpr::ExtVectorElementExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ExtVectorElementExpr(); +} + +CppSharp::Parser::AST::ExtVectorElementExpr::ExtVectorElementExpr(CppSharp::Parser::AST::ExtVectorElementExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ExtVectorElementExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExtVectorElementExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ExtVectorElementExpr::Base::get() +{ + return (((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->base == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->base); +} + +void CppSharp::Parser::AST::ExtVectorElementExpr::Base::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->base = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ExtVectorElementExpr::AccessorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->accessorLoc); +} + +void CppSharp::Parser::AST::ExtVectorElementExpr::AccessorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->accessorLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::ExtVectorElementExpr::NumElements::get() +{ + return ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->numElements; +} + +void CppSharp::Parser::AST::ExtVectorElementExpr::NumElements::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->numElements = value; +} + +bool CppSharp::Parser::AST::ExtVectorElementExpr::ContainsDuplicateElements::get() +{ + return ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->containsDuplicateElements; +} + +void CppSharp::Parser::AST::ExtVectorElementExpr::ContainsDuplicateElements::set(bool value) +{ + ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->containsDuplicateElements = value; +} + +bool CppSharp::Parser::AST::ExtVectorElementExpr::IsArrow::get() +{ + return ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->isArrow; +} + +void CppSharp::Parser::AST::ExtVectorElementExpr::IsArrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::ExtVectorElementExpr*)NativePtr)->isArrow = value; +} + +CppSharp::Parser::AST::BlockExpr::BlockExpr(::CppSharp::CppParser::AST::BlockExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::BlockExpr^ CppSharp::Parser::AST::BlockExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BlockExpr((::CppSharp::CppParser::AST::BlockExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::BlockExpr::~BlockExpr() +{ +} + +CppSharp::Parser::AST::BlockExpr::BlockExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BlockExpr(); +} + +CppSharp::Parser::AST::BlockExpr::BlockExpr(CppSharp::Parser::AST::BlockExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BlockExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BlockExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::BlockExpr::CaretLocation::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::BlockExpr*)NativePtr)->caretLocation); +} + +void CppSharp::Parser::AST::BlockExpr::CaretLocation::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::BlockExpr*)NativePtr)->caretLocation = _marshal0; +} + +CppSharp::Parser::AST::AsTypeExpr::AsTypeExpr(::CppSharp::CppParser::AST::AsTypeExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::AsTypeExpr^ CppSharp::Parser::AST::AsTypeExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AsTypeExpr((::CppSharp::CppParser::AST::AsTypeExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::AsTypeExpr::~AsTypeExpr() +{ +} + +CppSharp::Parser::AST::AsTypeExpr::AsTypeExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AsTypeExpr(); +} + +CppSharp::Parser::AST::AsTypeExpr::AsTypeExpr(CppSharp::Parser::AST::AsTypeExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AsTypeExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AsTypeExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AsTypeExpr::SrcExpr::get() +{ + return (((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->srcExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->srcExpr); +} + +void CppSharp::Parser::AST::AsTypeExpr::SrcExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->srcExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AsTypeExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::AsTypeExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AsTypeExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::AsTypeExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AsTypeExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::PseudoObjectExpr::PseudoObjectExpr(::CppSharp::CppParser::AST::PseudoObjectExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::PseudoObjectExpr^ CppSharp::Parser::AST::PseudoObjectExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PseudoObjectExpr((::CppSharp::CppParser::AST::PseudoObjectExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::PseudoObjectExpr::~PseudoObjectExpr() +{ +} + +CppSharp::Parser::AST::PseudoObjectExpr::PseudoObjectExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PseudoObjectExpr(); +} + +CppSharp::Parser::AST::PseudoObjectExpr::PseudoObjectExpr(CppSharp::Parser::AST::PseudoObjectExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PseudoObjectExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PseudoObjectExpr(__arg0); +} + +unsigned int CppSharp::Parser::AST::PseudoObjectExpr::ResultExprIndex::get() +{ + return ((::CppSharp::CppParser::AST::PseudoObjectExpr*)NativePtr)->resultExprIndex; +} + +void CppSharp::Parser::AST::PseudoObjectExpr::ResultExprIndex::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::PseudoObjectExpr*)NativePtr)->resultExprIndex = value; +} + +unsigned int CppSharp::Parser::AST::PseudoObjectExpr::NumSemanticExprs::get() +{ + return ((::CppSharp::CppParser::AST::PseudoObjectExpr*)NativePtr)->numSemanticExprs; +} + +void CppSharp::Parser::AST::PseudoObjectExpr::NumSemanticExprs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::PseudoObjectExpr*)NativePtr)->numSemanticExprs = value; +} + +CppSharp::Parser::AST::AtomicExpr::AtomicExpr(::CppSharp::CppParser::AST::AtomicExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::AtomicExpr^ CppSharp::Parser::AST::AtomicExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AtomicExpr((::CppSharp::CppParser::AST::AtomicExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::AtomicExpr::~AtomicExpr() +{ +} + +CppSharp::Parser::AST::AtomicExpr::AtomicExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AtomicExpr(); +} + +CppSharp::Parser::AST::AtomicExpr::AtomicExpr(CppSharp::Parser::AST::AtomicExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AtomicExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AtomicExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Ptr::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->ptr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->ptr); +} + +void CppSharp::Parser::AST::AtomicExpr::Ptr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->ptr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Order::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->order == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->order); +} + +void CppSharp::Parser::AST::AtomicExpr::Order::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->order = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Scope::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->scope == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->scope); +} + +void CppSharp::Parser::AST::AtomicExpr::Scope::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->scope = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Val1::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val1 == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val1); +} + +void CppSharp::Parser::AST::AtomicExpr::Val1::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val1 = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::OrderFail::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->orderFail == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->orderFail); +} + +void CppSharp::Parser::AST::AtomicExpr::OrderFail::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->orderFail = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Val2::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val2 == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val2); +} + +void CppSharp::Parser::AST::AtomicExpr::Val2::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->val2 = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AtomicExpr::Weak::get() +{ + return (((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->weak == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->weak); +} + +void CppSharp::Parser::AST::AtomicExpr::Weak::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->weak = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::AtomicExpr::ValueType::get() +{ + return (&((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->valueType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->valueType); +} + +void CppSharp::Parser::AST::AtomicExpr::ValueType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->valueType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::AtomicExpr::AtomicOp CppSharp::Parser::AST::AtomicExpr::Op::get() +{ + return (CppSharp::Parser::AST::AtomicExpr::AtomicOp)((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->op; +} + +void CppSharp::Parser::AST::AtomicExpr::Op::set(CppSharp::Parser::AST::AtomicExpr::AtomicOp value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->op = (::CppSharp::CppParser::AST::AtomicExpr::AtomicOp)value; +} + +bool CppSharp::Parser::AST::AtomicExpr::IsVolatile::get() +{ + return ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isVolatile; +} + +void CppSharp::Parser::AST::AtomicExpr::IsVolatile::set(bool value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isVolatile = value; +} + +bool CppSharp::Parser::AST::AtomicExpr::IsCmpXChg::get() +{ + return ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isCmpXChg; +} + +void CppSharp::Parser::AST::AtomicExpr::IsCmpXChg::set(bool value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isCmpXChg = value; +} + +bool CppSharp::Parser::AST::AtomicExpr::IsOpenCL::get() +{ + return ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isOpenCL; +} + +void CppSharp::Parser::AST::AtomicExpr::IsOpenCL::set(bool value) +{ + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->isOpenCL = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AtomicExpr::BuiltinLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->builtinLoc); +} + +void CppSharp::Parser::AST::AtomicExpr::BuiltinLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->builtinLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AtomicExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::AtomicExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AtomicExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::TypoExpr::TypoExpr(::CppSharp::CppParser::AST::TypoExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::TypoExpr^ CppSharp::Parser::AST::TypoExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypoExpr((::CppSharp::CppParser::AST::TypoExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypoExpr::~TypoExpr() +{ +} + +CppSharp::Parser::AST::TypoExpr::TypoExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypoExpr(); +} + +CppSharp::Parser::AST::TypoExpr::TypoExpr(CppSharp::Parser::AST::TypoExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypoExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypoExpr(__arg0); +} + +CppSharp::Parser::AST::CXXOperatorCallExpr::CXXOperatorCallExpr(::CppSharp::CppParser::AST::CXXOperatorCallExpr* native) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXOperatorCallExpr^ CppSharp::Parser::AST::CXXOperatorCallExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXOperatorCallExpr((::CppSharp::CppParser::AST::CXXOperatorCallExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXOperatorCallExpr::~CXXOperatorCallExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXOperatorCallExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXOperatorCallExpr::CXXOperatorCallExpr() + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXOperatorCallExpr(); +} + +CppSharp::Parser::AST::CXXOperatorCallExpr::CXXOperatorCallExpr(CppSharp::Parser::AST::CXXOperatorCallExpr^ _0) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXOperatorCallExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXOperatorCallExpr(__arg0); +} + +CppSharp::Parser::AST::OverloadedOperatorKind CppSharp::Parser::AST::CXXOperatorCallExpr::Operator::get() +{ + return (CppSharp::Parser::AST::OverloadedOperatorKind)((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->_operator; +} + +void CppSharp::Parser::AST::CXXOperatorCallExpr::Operator::set(CppSharp::Parser::AST::OverloadedOperatorKind value) +{ + ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->_operator = (::CppSharp::CppParser::AST::OverloadedOperatorKind)value; +} + +bool CppSharp::Parser::AST::CXXOperatorCallExpr::IsInfixBinaryOp::get() +{ + return ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->isInfixBinaryOp; +} + +void CppSharp::Parser::AST::CXXOperatorCallExpr::IsInfixBinaryOp::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->isInfixBinaryOp = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXOperatorCallExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::CXXOperatorCallExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->operatorLoc = _marshal0; +} + +bool CppSharp::Parser::AST::CXXOperatorCallExpr::IsFPContractableWithinStatement::get() +{ + return ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->isFPContractableWithinStatement; +} + +void CppSharp::Parser::AST::CXXOperatorCallExpr::IsFPContractableWithinStatement::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXOperatorCallExpr*)NativePtr)->isFPContractableWithinStatement = value; +} + +CppSharp::Parser::AST::CXXMemberCallExpr::CXXMemberCallExpr(::CppSharp::CppParser::AST::CXXMemberCallExpr* native) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXMemberCallExpr^ CppSharp::Parser::AST::CXXMemberCallExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXMemberCallExpr((::CppSharp::CppParser::AST::CXXMemberCallExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXMemberCallExpr::~CXXMemberCallExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXMemberCallExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXMemberCallExpr::CXXMemberCallExpr() + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXMemberCallExpr(); +} + +CppSharp::Parser::AST::CXXMemberCallExpr::CXXMemberCallExpr(CppSharp::Parser::AST::CXXMemberCallExpr^ _0) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXMemberCallExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXMemberCallExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXMemberCallExpr::ImplicitObjectArgument::get() +{ + return (((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->implicitObjectArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->implicitObjectArgument); +} + +void CppSharp::Parser::AST::CXXMemberCallExpr::ImplicitObjectArgument::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->implicitObjectArgument = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::CXXMemberCallExpr::MethodDecl::get() +{ + return (((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->methodDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->methodDecl); +} + +void CppSharp::Parser::AST::CXXMemberCallExpr::MethodDecl::set(CppSharp::Parser::AST::Method^ value) +{ + ((::CppSharp::CppParser::AST::CXXMemberCallExpr*)NativePtr)->methodDecl = (::CppSharp::CppParser::AST::Method*)value->NativePtr; +} + +CppSharp::Parser::AST::CUDAKernelCallExpr::CUDAKernelCallExpr(::CppSharp::CppParser::AST::CUDAKernelCallExpr* native) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)native) +{ +} + +CppSharp::Parser::AST::CUDAKernelCallExpr^ CppSharp::Parser::AST::CUDAKernelCallExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CUDAKernelCallExpr((::CppSharp::CppParser::AST::CUDAKernelCallExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CUDAKernelCallExpr::~CUDAKernelCallExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CUDAKernelCallExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CUDAKernelCallExpr::CUDAKernelCallExpr() + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CUDAKernelCallExpr(); +} + +CppSharp::Parser::AST::CUDAKernelCallExpr::CUDAKernelCallExpr(CppSharp::Parser::AST::CUDAKernelCallExpr^ _0) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CUDAKernelCallExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CUDAKernelCallExpr(__arg0); +} + +CppSharp::Parser::AST::CallExpr^ CppSharp::Parser::AST::CUDAKernelCallExpr::Config::get() +{ + return (((::CppSharp::CppParser::AST::CUDAKernelCallExpr*)NativePtr)->config == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)((::CppSharp::CppParser::AST::CUDAKernelCallExpr*)NativePtr)->config); +} + +void CppSharp::Parser::AST::CUDAKernelCallExpr::Config::set(CppSharp::Parser::AST::CallExpr^ value) +{ + ((::CppSharp::CppParser::AST::CUDAKernelCallExpr*)NativePtr)->config = (::CppSharp::CppParser::AST::CallExpr*)value->NativePtr; +} + +CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(::CppSharp::CppParser::AST::CXXNamedCastExpr* native) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXNamedCastExpr^ CppSharp::Parser::AST::CXXNamedCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXNamedCastExpr::~CXXNamedCastExpr() +{ +} + +CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr() + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(); +} + +CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__arg0); +} + +CppSharp::Parser::AST::CXXNamedCastExpr::CXXNamedCastExpr(CppSharp::Parser::AST::CXXNamedCastExpr^ _0) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXNamedCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__arg0); +} + +CppSharp::Parser::AST::CXXNamedCastExpr::operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::CXXNamedCastExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::CXXNamedCastExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)____ret); +} + +System::String^ CppSharp::Parser::AST::CXXNamedCastExpr::CastName::get() +{ + return (((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->castName == 0 ? nullptr : clix::marshalString(((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->castName)); +} + +void CppSharp::Parser::AST::CXXNamedCastExpr::CastName::set(System::String^ value) +{ + auto _value = clix::marshalString(value); + ((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->castName = _value.c_str(); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXNamedCastExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::CXXNamedCastExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXNamedCastExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CXXNamedCastExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::CXXNamedCastExpr::AngleBrackets::get() +{ + return (&((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->angleBrackets == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->angleBrackets); +} + +void CppSharp::Parser::AST::CXXNamedCastExpr::AngleBrackets::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::CXXNamedCastExpr*)NativePtr)->angleBrackets = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +CppSharp::Parser::AST::CXXStaticCastExpr::CXXStaticCastExpr(::CppSharp::CppParser::AST::CXXStaticCastExpr* native) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXStaticCastExpr^ CppSharp::Parser::AST::CXXStaticCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXStaticCastExpr((::CppSharp::CppParser::AST::CXXStaticCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXStaticCastExpr::~CXXStaticCastExpr() +{ +} + +CppSharp::Parser::AST::CXXStaticCastExpr::CXXStaticCastExpr() + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXStaticCastExpr(); +} + +CppSharp::Parser::AST::CXXStaticCastExpr::CXXStaticCastExpr(CppSharp::Parser::AST::CXXStaticCastExpr^ _0) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXStaticCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXStaticCastExpr(__arg0); +} + +CppSharp::Parser::AST::CXXDynamicCastExpr::CXXDynamicCastExpr(::CppSharp::CppParser::AST::CXXDynamicCastExpr* native) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXDynamicCastExpr^ CppSharp::Parser::AST::CXXDynamicCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXDynamicCastExpr((::CppSharp::CppParser::AST::CXXDynamicCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXDynamicCastExpr::~CXXDynamicCastExpr() +{ +} + +CppSharp::Parser::AST::CXXDynamicCastExpr::CXXDynamicCastExpr() + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXDynamicCastExpr(); +} + +CppSharp::Parser::AST::CXXDynamicCastExpr::CXXDynamicCastExpr(CppSharp::Parser::AST::CXXDynamicCastExpr^ _0) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXDynamicCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXDynamicCastExpr(__arg0); +} + +bool CppSharp::Parser::AST::CXXDynamicCastExpr::IsAlwaysNull::get() +{ + return ((::CppSharp::CppParser::AST::CXXDynamicCastExpr*)NativePtr)->isAlwaysNull; +} + +void CppSharp::Parser::AST::CXXDynamicCastExpr::IsAlwaysNull::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDynamicCastExpr*)NativePtr)->isAlwaysNull = value; +} + +CppSharp::Parser::AST::CXXReinterpretCastExpr::CXXReinterpretCastExpr(::CppSharp::CppParser::AST::CXXReinterpretCastExpr* native) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXReinterpretCastExpr^ CppSharp::Parser::AST::CXXReinterpretCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXReinterpretCastExpr((::CppSharp::CppParser::AST::CXXReinterpretCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXReinterpretCastExpr::~CXXReinterpretCastExpr() +{ +} + +CppSharp::Parser::AST::CXXReinterpretCastExpr::CXXReinterpretCastExpr() + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXReinterpretCastExpr(); +} + +CppSharp::Parser::AST::CXXReinterpretCastExpr::CXXReinterpretCastExpr(CppSharp::Parser::AST::CXXReinterpretCastExpr^ _0) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXReinterpretCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXReinterpretCastExpr(__arg0); +} + +CppSharp::Parser::AST::CXXConstCastExpr::CXXConstCastExpr(::CppSharp::CppParser::AST::CXXConstCastExpr* native) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXConstCastExpr^ CppSharp::Parser::AST::CXXConstCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXConstCastExpr((::CppSharp::CppParser::AST::CXXConstCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXConstCastExpr::~CXXConstCastExpr() +{ +} + +CppSharp::Parser::AST::CXXConstCastExpr::CXXConstCastExpr() + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstCastExpr(); +} + +CppSharp::Parser::AST::CXXConstCastExpr::CXXConstCastExpr(CppSharp::Parser::AST::CXXConstCastExpr^ _0) + : CppSharp::Parser::AST::CXXNamedCastExpr((::CppSharp::CppParser::AST::CXXNamedCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXConstCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstCastExpr(__arg0); +} + +CppSharp::Parser::AST::UserDefinedLiteral::UserDefinedLiteral(::CppSharp::CppParser::AST::UserDefinedLiteral* native) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)native) +{ +} + +CppSharp::Parser::AST::UserDefinedLiteral^ CppSharp::Parser::AST::UserDefinedLiteral::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UserDefinedLiteral((::CppSharp::CppParser::AST::UserDefinedLiteral*) native.ToPointer()); +} + +CppSharp::Parser::AST::UserDefinedLiteral::~UserDefinedLiteral() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::UserDefinedLiteral*) __nativePtr; + } +} + +CppSharp::Parser::AST::UserDefinedLiteral::UserDefinedLiteral() + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UserDefinedLiteral(); +} + +CppSharp::Parser::AST::UserDefinedLiteral::UserDefinedLiteral(CppSharp::Parser::AST::UserDefinedLiteral^ _0) + : CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UserDefinedLiteral*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UserDefinedLiteral(__arg0); +} + +CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind CppSharp::Parser::AST::UserDefinedLiteral::literalOperatorKind::get() +{ + return (CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind)((::CppSharp::CppParser::AST::UserDefinedLiteral*)NativePtr)->literalOperatorKind; +} + +void CppSharp::Parser::AST::UserDefinedLiteral::literalOperatorKind::set(CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind value) +{ + ((::CppSharp::CppParser::AST::UserDefinedLiteral*)NativePtr)->literalOperatorKind = (::CppSharp::CppParser::AST::UserDefinedLiteral::LiteralOperatorKind)value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UserDefinedLiteral::UDSuffixLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UserDefinedLiteral*)NativePtr)->uDSuffixLoc); +} + +void CppSharp::Parser::AST::UserDefinedLiteral::UDSuffixLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UserDefinedLiteral*)NativePtr)->uDSuffixLoc = _marshal0; +} + +CppSharp::Parser::AST::CXXBoolLiteralExpr::CXXBoolLiteralExpr(::CppSharp::CppParser::AST::CXXBoolLiteralExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXBoolLiteralExpr^ CppSharp::Parser::AST::CXXBoolLiteralExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXBoolLiteralExpr((::CppSharp::CppParser::AST::CXXBoolLiteralExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXBoolLiteralExpr::~CXXBoolLiteralExpr() +{ +} + +CppSharp::Parser::AST::CXXBoolLiteralExpr::CXXBoolLiteralExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXBoolLiteralExpr(); +} + +CppSharp::Parser::AST::CXXBoolLiteralExpr::CXXBoolLiteralExpr(CppSharp::Parser::AST::CXXBoolLiteralExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXBoolLiteralExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXBoolLiteralExpr(__arg0); +} + +bool CppSharp::Parser::AST::CXXBoolLiteralExpr::Value::get() +{ + return ((::CppSharp::CppParser::AST::CXXBoolLiteralExpr*)NativePtr)->value; +} + +void CppSharp::Parser::AST::CXXBoolLiteralExpr::Value::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXBoolLiteralExpr*)NativePtr)->value = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXBoolLiteralExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXBoolLiteralExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CXXBoolLiteralExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXBoolLiteralExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::CXXNullPtrLiteralExpr::CXXNullPtrLiteralExpr(::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXNullPtrLiteralExpr^ CppSharp::Parser::AST::CXXNullPtrLiteralExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXNullPtrLiteralExpr((::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXNullPtrLiteralExpr::~CXXNullPtrLiteralExpr() +{ +} + +CppSharp::Parser::AST::CXXNullPtrLiteralExpr::CXXNullPtrLiteralExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr(); +} + +CppSharp::Parser::AST::CXXNullPtrLiteralExpr::CXXNullPtrLiteralExpr(CppSharp::Parser::AST::CXXNullPtrLiteralExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXNullPtrLiteralExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CXXNullPtrLiteralExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::CXXStdInitializerListExpr::CXXStdInitializerListExpr(::CppSharp::CppParser::AST::CXXStdInitializerListExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXStdInitializerListExpr^ CppSharp::Parser::AST::CXXStdInitializerListExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXStdInitializerListExpr((::CppSharp::CppParser::AST::CXXStdInitializerListExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXStdInitializerListExpr::~CXXStdInitializerListExpr() +{ +} + +CppSharp::Parser::AST::CXXStdInitializerListExpr::CXXStdInitializerListExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXStdInitializerListExpr(); +} + +CppSharp::Parser::AST::CXXStdInitializerListExpr::CXXStdInitializerListExpr(CppSharp::Parser::AST::CXXStdInitializerListExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXStdInitializerListExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXStdInitializerListExpr(__arg0); +} + +CppSharp::Parser::AST::CXXTypeidExpr::CXXTypeidExpr(::CppSharp::CppParser::AST::CXXTypeidExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXTypeidExpr^ CppSharp::Parser::AST::CXXTypeidExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXTypeidExpr((::CppSharp::CppParser::AST::CXXTypeidExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXTypeidExpr::~CXXTypeidExpr() +{ +} + +CppSharp::Parser::AST::CXXTypeidExpr::CXXTypeidExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXTypeidExpr(); +} + +CppSharp::Parser::AST::CXXTypeidExpr::CXXTypeidExpr(CppSharp::Parser::AST::CXXTypeidExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXTypeidExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXTypeidExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXTypeidExpr::ExprOperand::get() +{ + return (((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->exprOperand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->exprOperand); +} + +void CppSharp::Parser::AST::CXXTypeidExpr::ExprOperand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->exprOperand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXTypeidExpr::IsPotentiallyEvaluated::get() +{ + return ((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->isPotentiallyEvaluated; +} + +void CppSharp::Parser::AST::CXXTypeidExpr::IsPotentiallyEvaluated::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->isPotentiallyEvaluated = value; +} + +bool CppSharp::Parser::AST::CXXTypeidExpr::IsTypeOperand::get() +{ + return ((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->isTypeOperand; +} + +void CppSharp::Parser::AST::CXXTypeidExpr::IsTypeOperand::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXTypeidExpr*)NativePtr)->isTypeOperand = value; +} + +CppSharp::Parser::AST::MSPropertyRefExpr::MSPropertyRefExpr(::CppSharp::CppParser::AST::MSPropertyRefExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::MSPropertyRefExpr^ CppSharp::Parser::AST::MSPropertyRefExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MSPropertyRefExpr((::CppSharp::CppParser::AST::MSPropertyRefExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::MSPropertyRefExpr::~MSPropertyRefExpr() +{ +} + +CppSharp::Parser::AST::MSPropertyRefExpr::MSPropertyRefExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MSPropertyRefExpr(); +} + +CppSharp::Parser::AST::MSPropertyRefExpr::MSPropertyRefExpr(CppSharp::Parser::AST::MSPropertyRefExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MSPropertyRefExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MSPropertyRefExpr(__arg0); +} + +bool CppSharp::Parser::AST::MSPropertyRefExpr::IsImplicitAccess::get() +{ + return ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->isImplicitAccess; +} + +void CppSharp::Parser::AST::MSPropertyRefExpr::IsImplicitAccess::set(bool value) +{ + ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->isImplicitAccess = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::MSPropertyRefExpr::BaseExpr::get() +{ + return (((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->baseExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->baseExpr); +} + +void CppSharp::Parser::AST::MSPropertyRefExpr::BaseExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->baseExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::MSPropertyRefExpr::IsArrow::get() +{ + return ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->isArrow; +} + +void CppSharp::Parser::AST::MSPropertyRefExpr::IsArrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->isArrow = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MSPropertyRefExpr::MemberLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->memberLoc); +} + +void CppSharp::Parser::AST::MSPropertyRefExpr::MemberLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MSPropertyRefExpr*)NativePtr)->memberLoc = _marshal0; +} + +CppSharp::Parser::AST::MSPropertySubscriptExpr::MSPropertySubscriptExpr(::CppSharp::CppParser::AST::MSPropertySubscriptExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::MSPropertySubscriptExpr^ CppSharp::Parser::AST::MSPropertySubscriptExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MSPropertySubscriptExpr((::CppSharp::CppParser::AST::MSPropertySubscriptExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::MSPropertySubscriptExpr::~MSPropertySubscriptExpr() +{ +} + +CppSharp::Parser::AST::MSPropertySubscriptExpr::MSPropertySubscriptExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MSPropertySubscriptExpr(); +} + +CppSharp::Parser::AST::MSPropertySubscriptExpr::MSPropertySubscriptExpr(CppSharp::Parser::AST::MSPropertySubscriptExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MSPropertySubscriptExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MSPropertySubscriptExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MSPropertySubscriptExpr::RBracketLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MSPropertySubscriptExpr*)NativePtr)->rBracketLoc); +} + +void CppSharp::Parser::AST::MSPropertySubscriptExpr::RBracketLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MSPropertySubscriptExpr*)NativePtr)->rBracketLoc = _marshal0; +} + +CppSharp::Parser::AST::CXXUuidofExpr::CXXUuidofExpr(::CppSharp::CppParser::AST::CXXUuidofExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXUuidofExpr^ CppSharp::Parser::AST::CXXUuidofExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXUuidofExpr((::CppSharp::CppParser::AST::CXXUuidofExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXUuidofExpr::~CXXUuidofExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXUuidofExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXUuidofExpr::CXXUuidofExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXUuidofExpr(); +} + +CppSharp::Parser::AST::CXXUuidofExpr::CXXUuidofExpr(CppSharp::Parser::AST::CXXUuidofExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXUuidofExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXUuidofExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXUuidofExpr::ExprOperand::get() +{ + return (((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->exprOperand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->exprOperand); +} + +void CppSharp::Parser::AST::CXXUuidofExpr::ExprOperand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->exprOperand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +System::String^ CppSharp::Parser::AST::CXXUuidofExpr::UuidStr::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->uuidStr); +} + +void CppSharp::Parser::AST::CXXUuidofExpr::UuidStr::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->uuidStr = clix::marshalString(value); +} + +bool CppSharp::Parser::AST::CXXUuidofExpr::IsTypeOperand::get() +{ + return ((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->isTypeOperand; +} + +void CppSharp::Parser::AST::CXXUuidofExpr::IsTypeOperand::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXUuidofExpr*)NativePtr)->isTypeOperand = value; +} + +CppSharp::Parser::AST::CXXThisExpr::CXXThisExpr(::CppSharp::CppParser::AST::CXXThisExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXThisExpr^ CppSharp::Parser::AST::CXXThisExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXThisExpr((::CppSharp::CppParser::AST::CXXThisExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXThisExpr::~CXXThisExpr() +{ +} + +CppSharp::Parser::AST::CXXThisExpr::CXXThisExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXThisExpr(); +} + +CppSharp::Parser::AST::CXXThisExpr::CXXThisExpr(CppSharp::Parser::AST::CXXThisExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXThisExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXThisExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXThisExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXThisExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CXXThisExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXThisExpr*)NativePtr)->location = _marshal0; +} + +bool CppSharp::Parser::AST::CXXThisExpr::Implicit::get() +{ + return ((::CppSharp::CppParser::AST::CXXThisExpr*)NativePtr)->implicit; +} + +void CppSharp::Parser::AST::CXXThisExpr::Implicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXThisExpr*)NativePtr)->implicit = value; +} + +CppSharp::Parser::AST::CXXThrowExpr::CXXThrowExpr(::CppSharp::CppParser::AST::CXXThrowExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXThrowExpr^ CppSharp::Parser::AST::CXXThrowExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXThrowExpr((::CppSharp::CppParser::AST::CXXThrowExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXThrowExpr::~CXXThrowExpr() +{ +} + +CppSharp::Parser::AST::CXXThrowExpr::CXXThrowExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXThrowExpr(); +} + +CppSharp::Parser::AST::CXXThrowExpr::CXXThrowExpr(CppSharp::Parser::AST::CXXThrowExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXThrowExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXThrowExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXThrowExpr::ThrowLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXThrowExpr*)NativePtr)->throwLoc); +} + +void CppSharp::Parser::AST::CXXThrowExpr::ThrowLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXThrowExpr*)NativePtr)->throwLoc = _marshal0; +} + +bool CppSharp::Parser::AST::CXXThrowExpr::IsThrownVariableInScope::get() +{ + return ((::CppSharp::CppParser::AST::CXXThrowExpr*)NativePtr)->isThrownVariableInScope; +} + +void CppSharp::Parser::AST::CXXThrowExpr::IsThrownVariableInScope::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXThrowExpr*)NativePtr)->isThrownVariableInScope = value; +} + +CppSharp::Parser::AST::CXXDefaultArgExpr::CXXDefaultArgExpr(::CppSharp::CppParser::AST::CXXDefaultArgExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXDefaultArgExpr^ CppSharp::Parser::AST::CXXDefaultArgExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXDefaultArgExpr((::CppSharp::CppParser::AST::CXXDefaultArgExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXDefaultArgExpr::~CXXDefaultArgExpr() +{ +} + +CppSharp::Parser::AST::CXXDefaultArgExpr::CXXDefaultArgExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXDefaultArgExpr(); +} + +CppSharp::Parser::AST::CXXDefaultArgExpr::CXXDefaultArgExpr(CppSharp::Parser::AST::CXXDefaultArgExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXDefaultArgExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXDefaultArgExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDefaultArgExpr::UsedLocation::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDefaultArgExpr*)NativePtr)->usedLocation); +} + +void CppSharp::Parser::AST::CXXDefaultArgExpr::UsedLocation::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDefaultArgExpr*)NativePtr)->usedLocation = _marshal0; +} + +CppSharp::Parser::AST::CXXDefaultInitExpr::CXXDefaultInitExpr(::CppSharp::CppParser::AST::CXXDefaultInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXDefaultInitExpr^ CppSharp::Parser::AST::CXXDefaultInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXDefaultInitExpr((::CppSharp::CppParser::AST::CXXDefaultInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXDefaultInitExpr::~CXXDefaultInitExpr() +{ +} + +CppSharp::Parser::AST::CXXDefaultInitExpr::CXXDefaultInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXDefaultInitExpr(); +} + +CppSharp::Parser::AST::CXXDefaultInitExpr::CXXDefaultInitExpr(CppSharp::Parser::AST::CXXDefaultInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXDefaultInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXDefaultInitExpr(__arg0); +} + +CppSharp::Parser::AST::CXXBindTemporaryExpr::CXXBindTemporaryExpr(::CppSharp::CppParser::AST::CXXBindTemporaryExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXBindTemporaryExpr^ CppSharp::Parser::AST::CXXBindTemporaryExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXBindTemporaryExpr((::CppSharp::CppParser::AST::CXXBindTemporaryExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXBindTemporaryExpr::~CXXBindTemporaryExpr() +{ +} + +CppSharp::Parser::AST::CXXBindTemporaryExpr::CXXBindTemporaryExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXBindTemporaryExpr(); +} + +CppSharp::Parser::AST::CXXBindTemporaryExpr::CXXBindTemporaryExpr(CppSharp::Parser::AST::CXXBindTemporaryExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXBindTemporaryExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXBindTemporaryExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXBindTemporaryExpr::SubExpr::get() +{ + return (((::CppSharp::CppParser::AST::CXXBindTemporaryExpr*)NativePtr)->subExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXBindTemporaryExpr*)NativePtr)->subExpr); +} + +void CppSharp::Parser::AST::CXXBindTemporaryExpr::SubExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXBindTemporaryExpr*)NativePtr)->subExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(::CppSharp::CppParser::AST::CXXConstructExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXConstructExpr^ CppSharp::Parser::AST::CXXConstructExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXConstructExpr::~CXXConstructExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXConstructExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(); +} + +CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXConstructExpr::Getarguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->getarguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::CXXConstructExpr::Addarguments(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->addarguments(__arg0); +} + +void CppSharp::Parser::AST::CXXConstructExpr::Cleararguments() +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->cleararguments(); +} + +CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST::CXXConstructExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXConstructExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0); +} + +CppSharp::Parser::AST::CXXConstructExpr::operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::CXXConstructExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::CXXConstructExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)____ret); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CXXConstructExpr::Arguments::get() +{ + auto _tmp__arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__arguments->Add(_marshalElement); + } + return _tmp__arguments; +} + +void CppSharp::Parser::AST::CXXConstructExpr::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->arguments = _tmpvalue; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXConstructExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CXXConstructExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->location = _marshal0; +} + +bool CppSharp::Parser::AST::CXXConstructExpr::Elidable::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->elidable; +} + +void CppSharp::Parser::AST::CXXConstructExpr::Elidable::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->elidable = value; +} + +bool CppSharp::Parser::AST::CXXConstructExpr::HadMultipleCandidates::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->hadMultipleCandidates; +} + +void CppSharp::Parser::AST::CXXConstructExpr::HadMultipleCandidates::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->hadMultipleCandidates = value; +} + +bool CppSharp::Parser::AST::CXXConstructExpr::ListInitialization::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->listInitialization; +} + +void CppSharp::Parser::AST::CXXConstructExpr::ListInitialization::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->listInitialization = value; +} + +bool CppSharp::Parser::AST::CXXConstructExpr::StdInitListInitialization::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->stdInitListInitialization; +} + +void CppSharp::Parser::AST::CXXConstructExpr::StdInitListInitialization::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->stdInitListInitialization = value; +} + +bool CppSharp::Parser::AST::CXXConstructExpr::RequiresZeroInitialization::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->requiresZeroInitialization; +} + +void CppSharp::Parser::AST::CXXConstructExpr::RequiresZeroInitialization::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->requiresZeroInitialization = value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::CXXConstructExpr::ParenOrBraceRange::get() +{ + return (&((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->parenOrBraceRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->parenOrBraceRange); +} + +void CppSharp::Parser::AST::CXXConstructExpr::ParenOrBraceRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->parenOrBraceRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::CXXConstructExpr::NumArgs::get() +{ + return ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->numArgs; +} + +void CppSharp::Parser::AST::CXXConstructExpr::NumArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->numArgs = value; +} + +unsigned int CppSharp::Parser::AST::CXXConstructExpr::GetargumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->getargumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXInheritedCtorInitExpr::CXXInheritedCtorInitExpr(::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXInheritedCtorInitExpr^ CppSharp::Parser::AST::CXXInheritedCtorInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXInheritedCtorInitExpr((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXInheritedCtorInitExpr::~CXXInheritedCtorInitExpr() +{ +} + +CppSharp::Parser::AST::CXXInheritedCtorInitExpr::CXXInheritedCtorInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr(); +} + +CppSharp::Parser::AST::CXXInheritedCtorInitExpr::CXXInheritedCtorInitExpr(CppSharp::Parser::AST::CXXInheritedCtorInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr(__arg0); +} + +bool CppSharp::Parser::AST::CXXInheritedCtorInitExpr::ConstructsVBase::get() +{ + return ((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->constructsVBase; +} + +void CppSharp::Parser::AST::CXXInheritedCtorInitExpr::ConstructsVBase::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->constructsVBase = value; +} + +bool CppSharp::Parser::AST::CXXInheritedCtorInitExpr::InheritedFromVBase::get() +{ + return ((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->inheritedFromVBase; +} + +void CppSharp::Parser::AST::CXXInheritedCtorInitExpr::InheritedFromVBase::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->inheritedFromVBase = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXInheritedCtorInitExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CXXInheritedCtorInitExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::AST::CXXFunctionalCastExpr::CXXFunctionalCastExpr(::CppSharp::CppParser::AST::CXXFunctionalCastExpr* native) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXFunctionalCastExpr^ CppSharp::Parser::AST::CXXFunctionalCastExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXFunctionalCastExpr((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXFunctionalCastExpr::~CXXFunctionalCastExpr() +{ +} + +CppSharp::Parser::AST::CXXFunctionalCastExpr::CXXFunctionalCastExpr() + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXFunctionalCastExpr(); +} + +CppSharp::Parser::AST::CXXFunctionalCastExpr::CXXFunctionalCastExpr(CppSharp::Parser::AST::CXXFunctionalCastExpr^ _0) + : CppSharp::Parser::AST::ExplicitCastExpr((::CppSharp::CppParser::AST::ExplicitCastExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXFunctionalCastExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXFunctionalCastExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::CXXFunctionalCastExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXFunctionalCastExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CXXFunctionalCastExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->rParenLoc = _marshal0; +} + +bool CppSharp::Parser::AST::CXXFunctionalCastExpr::IsListInitialization::get() +{ + return ((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->isListInitialization; +} + +void CppSharp::Parser::AST::CXXFunctionalCastExpr::IsListInitialization::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXFunctionalCastExpr*)NativePtr)->isListInitialization = value; +} + +CppSharp::Parser::AST::CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(::CppSharp::CppParser::AST::CXXTemporaryObjectExpr* native) + : CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)native) +{ +} + +CppSharp::Parser::AST::CXXTemporaryObjectExpr^ CppSharp::Parser::AST::CXXTemporaryObjectExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXTemporaryObjectExpr((::CppSharp::CppParser::AST::CXXTemporaryObjectExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXTemporaryObjectExpr::~CXXTemporaryObjectExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXTemporaryObjectExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXTemporaryObjectExpr::CXXTemporaryObjectExpr() + : CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXTemporaryObjectExpr(); +} + +CppSharp::Parser::AST::CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(CppSharp::Parser::AST::CXXTemporaryObjectExpr^ _0) + : CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXTemporaryObjectExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXTemporaryObjectExpr(__arg0); +} + +CppSharp::Parser::AST::LambdaExpr::LambdaExpr(::CppSharp::CppParser::AST::LambdaExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::LambdaExpr^ CppSharp::Parser::AST::LambdaExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::LambdaExpr((::CppSharp::CppParser::AST::LambdaExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::LambdaExpr::~LambdaExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::LambdaExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::LambdaExpr::LambdaExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::LambdaExpr(); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::LambdaExpr::GetcaptureInits(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->getcapture_inits(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::LambdaExpr::AddcaptureInits(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->addcapture_inits(__arg0); +} + +void CppSharp::Parser::AST::LambdaExpr::ClearcaptureInits() +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->clearcapture_inits(); +} + +CppSharp::Parser::AST::LambdaExpr::LambdaExpr(CppSharp::Parser::AST::LambdaExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LambdaExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::LambdaExpr(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::LambdaExpr::CaptureInits::get() +{ + auto _tmp__capture_inits = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->capture_inits) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__capture_inits->Add(_marshalElement); + } + return _tmp__capture_inits; +} + +void CppSharp::Parser::AST::LambdaExpr::CaptureInits::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->capture_inits = _tmpvalue; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::LambdaExpr::CaptureDefaultLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->captureDefaultLoc); +} + +void CppSharp::Parser::AST::LambdaExpr::CaptureDefaultLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->captureDefaultLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::LambdaExpr::CaptureSize::get() +{ + return ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->capture_size; +} + +void CppSharp::Parser::AST::LambdaExpr::CaptureSize::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->capture_size = value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::LambdaExpr::IntroducerRange::get() +{ + return (&((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->introducerRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->introducerRange); +} + +void CppSharp::Parser::AST::LambdaExpr::IntroducerRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->introducerRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::LambdaExpr::CallOperator::get() +{ + return (((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->callOperator == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->callOperator); +} + +void CppSharp::Parser::AST::LambdaExpr::CallOperator::set(CppSharp::Parser::AST::Method^ value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->callOperator = (::CppSharp::CppParser::AST::Method*)value->NativePtr; +} + +bool CppSharp::Parser::AST::LambdaExpr::IsGenericLambda::get() +{ + return ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->isGenericLambda; +} + +void CppSharp::Parser::AST::LambdaExpr::IsGenericLambda::set(bool value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->isGenericLambda = value; +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::LambdaExpr::Body::get() +{ + return (((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->body); +} + +void CppSharp::Parser::AST::LambdaExpr::Body::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->body = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +bool CppSharp::Parser::AST::LambdaExpr::IsMutable::get() +{ + return ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->isMutable; +} + +void CppSharp::Parser::AST::LambdaExpr::IsMutable::set(bool value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->isMutable = value; +} + +bool CppSharp::Parser::AST::LambdaExpr::HasExplicitParameters::get() +{ + return ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->hasExplicitParameters; +} + +void CppSharp::Parser::AST::LambdaExpr::HasExplicitParameters::set(bool value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->hasExplicitParameters = value; +} + +bool CppSharp::Parser::AST::LambdaExpr::HasExplicitResultType::get() +{ + return ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->hasExplicitResultType; +} + +void CppSharp::Parser::AST::LambdaExpr::HasExplicitResultType::set(bool value) +{ + ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->hasExplicitResultType = value; +} + +unsigned int CppSharp::Parser::AST::LambdaExpr::GetcaptureInitsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::LambdaExpr*)NativePtr)->getcapture_initsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXScalarValueInitExpr::CXXScalarValueInitExpr(::CppSharp::CppParser::AST::CXXScalarValueInitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXScalarValueInitExpr^ CppSharp::Parser::AST::CXXScalarValueInitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXScalarValueInitExpr((::CppSharp::CppParser::AST::CXXScalarValueInitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXScalarValueInitExpr::~CXXScalarValueInitExpr() +{ +} + +CppSharp::Parser::AST::CXXScalarValueInitExpr::CXXScalarValueInitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXScalarValueInitExpr(); +} + +CppSharp::Parser::AST::CXXScalarValueInitExpr::CXXScalarValueInitExpr(CppSharp::Parser::AST::CXXScalarValueInitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXScalarValueInitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXScalarValueInitExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXScalarValueInitExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXScalarValueInitExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CXXScalarValueInitExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXScalarValueInitExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::CXXNewExpr::CXXNewExpr(::CppSharp::CppParser::AST::CXXNewExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXNewExpr^ CppSharp::Parser::AST::CXXNewExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXNewExpr((::CppSharp::CppParser::AST::CXXNewExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXNewExpr::~CXXNewExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXNewExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXNewExpr::CXXNewExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXNewExpr(); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXNewExpr::GetplacementArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->getplacement_arguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::CXXNewExpr::AddplacementArguments(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->addplacement_arguments(__arg0); +} + +void CppSharp::Parser::AST::CXXNewExpr::ClearplacementArguments() +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->clearplacement_arguments(); +} + +CppSharp::Parser::AST::CXXNewExpr::CXXNewExpr(CppSharp::Parser::AST::CXXNewExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXNewExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXNewExpr(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CXXNewExpr::PlacementArguments::get() +{ + auto _tmp__placement_arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->placement_arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__placement_arguments->Add(_marshalElement); + } + return _tmp__placement_arguments; +} + +void CppSharp::Parser::AST::CXXNewExpr::PlacementArguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->placement_arguments = _tmpvalue; +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::CXXNewExpr::OperatorNew::get() +{ + return (((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorNew == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorNew); +} + +void CppSharp::Parser::AST::CXXNewExpr::OperatorNew::set(CppSharp::Parser::AST::Function^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorNew = (::CppSharp::CppParser::AST::Function*)value->NativePtr; +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::CXXNewExpr::OperatorDelete::get() +{ + return (((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorDelete == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorDelete); +} + +void CppSharp::Parser::AST::CXXNewExpr::OperatorDelete::set(CppSharp::Parser::AST::Function^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->operatorDelete = (::CppSharp::CppParser::AST::Function*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXNewExpr::AllocatedType::get() +{ + return (&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->allocatedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->allocatedType); +} + +void CppSharp::Parser::AST::CXXNewExpr::AllocatedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->allocatedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXNewExpr::IsArray::get() +{ + return ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isArray; +} + +void CppSharp::Parser::AST::CXXNewExpr::IsArray::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isArray = value; +} + +unsigned int CppSharp::Parser::AST::CXXNewExpr::NumPlacementArgs::get() +{ + return ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->numPlacementArgs; +} + +void CppSharp::Parser::AST::CXXNewExpr::NumPlacementArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->numPlacementArgs = value; +} + +bool CppSharp::Parser::AST::CXXNewExpr::IsParenTypeId::get() +{ + return ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isParenTypeId; +} + +void CppSharp::Parser::AST::CXXNewExpr::IsParenTypeId::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isParenTypeId = value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::CXXNewExpr::TypeIdParens::get() +{ + return (&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->typeIdParens == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->typeIdParens); +} + +void CppSharp::Parser::AST::CXXNewExpr::TypeIdParens::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->typeIdParens = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXNewExpr::IsGlobalNew::get() +{ + return ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isGlobalNew; +} + +void CppSharp::Parser::AST::CXXNewExpr::IsGlobalNew::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->isGlobalNew = value; +} + +bool CppSharp::Parser::AST::CXXNewExpr::HasInitializer::get() +{ + return ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->hasInitializer; +} + +void CppSharp::Parser::AST::CXXNewExpr::HasInitializer::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->hasInitializer = value; +} + +CppSharp::Parser::AST::CXXNewExpr::InitializationStyle CppSharp::Parser::AST::CXXNewExpr::initializationStyle::get() +{ + return (CppSharp::Parser::AST::CXXNewExpr::InitializationStyle)((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->initializationStyle; +} + +void CppSharp::Parser::AST::CXXNewExpr::initializationStyle::set(CppSharp::Parser::AST::CXXNewExpr::InitializationStyle value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->initializationStyle = (::CppSharp::CppParser::AST::CXXNewExpr::InitializationStyle)value; +} + +CppSharp::Parser::AST::CXXConstructExpr^ CppSharp::Parser::AST::CXXNewExpr::ConstructExpr::get() +{ + return (((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->constructExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*)((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->constructExpr); +} + +void CppSharp::Parser::AST::CXXNewExpr::ConstructExpr::set(CppSharp::Parser::AST::CXXConstructExpr^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->constructExpr = (::CppSharp::CppParser::AST::CXXConstructExpr*)value->NativePtr; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::CXXNewExpr::DirectInitRange::get() +{ + return (&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->directInitRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->directInitRange); +} + +void CppSharp::Parser::AST::CXXNewExpr::DirectInitRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->directInitRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::CXXNewExpr::GetplacementArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXNewExpr*)NativePtr)->getplacement_argumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXDeleteExpr::CXXDeleteExpr(::CppSharp::CppParser::AST::CXXDeleteExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXDeleteExpr^ CppSharp::Parser::AST::CXXDeleteExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXDeleteExpr((::CppSharp::CppParser::AST::CXXDeleteExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXDeleteExpr::~CXXDeleteExpr() +{ +} + +CppSharp::Parser::AST::CXXDeleteExpr::CXXDeleteExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXDeleteExpr(); +} + +CppSharp::Parser::AST::CXXDeleteExpr::CXXDeleteExpr(CppSharp::Parser::AST::CXXDeleteExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXDeleteExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXDeleteExpr(__arg0); +} + +bool CppSharp::Parser::AST::CXXDeleteExpr::IsGlobalDelete::get() +{ + return ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isGlobalDelete; +} + +void CppSharp::Parser::AST::CXXDeleteExpr::IsGlobalDelete::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isGlobalDelete = value; +} + +bool CppSharp::Parser::AST::CXXDeleteExpr::IsArrayForm::get() +{ + return ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isArrayForm; +} + +void CppSharp::Parser::AST::CXXDeleteExpr::IsArrayForm::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isArrayForm = value; +} + +bool CppSharp::Parser::AST::CXXDeleteExpr::IsArrayFormAsWritten::get() +{ + return ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isArrayFormAsWritten; +} + +void CppSharp::Parser::AST::CXXDeleteExpr::IsArrayFormAsWritten::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->isArrayFormAsWritten = value; +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::CXXDeleteExpr::OperatorDelete::get() +{ + return (((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->operatorDelete == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->operatorDelete); +} + +void CppSharp::Parser::AST::CXXDeleteExpr::OperatorDelete::set(CppSharp::Parser::AST::Function^ value) +{ + ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->operatorDelete = (::CppSharp::CppParser::AST::Function*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXDeleteExpr::DestroyedType::get() +{ + return (&((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->destroyedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->destroyedType); +} + +void CppSharp::Parser::AST::CXXDeleteExpr::DestroyedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXDeleteExpr*)NativePtr)->destroyedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(::CppSharp::CppParser::AST::CXXPseudoDestructorExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXPseudoDestructorExpr^ CppSharp::Parser::AST::CXXPseudoDestructorExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXPseudoDestructorExpr((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXPseudoDestructorExpr::~CXXPseudoDestructorExpr() +{ +} + +CppSharp::Parser::AST::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXPseudoDestructorExpr(); +} + +CppSharp::Parser::AST::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(CppSharp::Parser::AST::CXXPseudoDestructorExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXPseudoDestructorExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXPseudoDestructorExpr::Base::get() +{ + return (((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->base == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->base); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::Base::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->base = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXPseudoDestructorExpr::HasQualifier::get() +{ + return ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->hasQualifier; +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::HasQualifier::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->hasQualifier = value; +} + +bool CppSharp::Parser::AST::CXXPseudoDestructorExpr::IsArrow::get() +{ + return ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->isArrow; +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::IsArrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->isArrow = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXPseudoDestructorExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXPseudoDestructorExpr::ColonColonLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->colonColonLoc); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::ColonColonLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->colonColonLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXPseudoDestructorExpr::TildeLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->tildeLoc); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::TildeLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->tildeLoc = _marshal0; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXPseudoDestructorExpr::DestroyedType::get() +{ + return (&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->destroyedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->destroyedType); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::DestroyedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->destroyedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXPseudoDestructorExpr::DestroyedTypeLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->destroyedTypeLoc); +} + +void CppSharp::Parser::AST::CXXPseudoDestructorExpr::DestroyedTypeLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXPseudoDestructorExpr*)NativePtr)->destroyedTypeLoc = _marshal0; +} + +CppSharp::Parser::AST::TypeTraitExpr::TypeTraitExpr(::CppSharp::CppParser::AST::TypeTraitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::TypeTraitExpr^ CppSharp::Parser::AST::TypeTraitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypeTraitExpr((::CppSharp::CppParser::AST::TypeTraitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypeTraitExpr::~TypeTraitExpr() +{ +} + +CppSharp::Parser::AST::TypeTraitExpr::TypeTraitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypeTraitExpr(); +} + +CppSharp::Parser::AST::TypeTraitExpr::TypeTraitExpr(CppSharp::Parser::AST::TypeTraitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypeTraitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypeTraitExpr(__arg0); +} + +bool CppSharp::Parser::AST::TypeTraitExpr::Value::get() +{ + return ((::CppSharp::CppParser::AST::TypeTraitExpr*)NativePtr)->value; +} + +void CppSharp::Parser::AST::TypeTraitExpr::Value::set(bool value) +{ + ((::CppSharp::CppParser::AST::TypeTraitExpr*)NativePtr)->value = value; +} + +unsigned int CppSharp::Parser::AST::TypeTraitExpr::NumArgs::get() +{ + return ((::CppSharp::CppParser::AST::TypeTraitExpr*)NativePtr)->numArgs; +} + +void CppSharp::Parser::AST::TypeTraitExpr::NumArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::TypeTraitExpr*)NativePtr)->numArgs = value; +} + +CppSharp::Parser::AST::ArrayTypeTraitExpr::ArrayTypeTraitExpr(::CppSharp::CppParser::AST::ArrayTypeTraitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ArrayTypeTraitExpr^ CppSharp::Parser::AST::ArrayTypeTraitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ArrayTypeTraitExpr((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ArrayTypeTraitExpr::~ArrayTypeTraitExpr() +{ +} + +CppSharp::Parser::AST::ArrayTypeTraitExpr::ArrayTypeTraitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ArrayTypeTraitExpr(); +} + +CppSharp::Parser::AST::ArrayTypeTraitExpr::ArrayTypeTraitExpr(CppSharp::Parser::AST::ArrayTypeTraitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ArrayTypeTraitExpr(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::ArrayTypeTraitExpr::QueriedType::get() +{ + return (&((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->queriedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->queriedType); +} + +void CppSharp::Parser::AST::ArrayTypeTraitExpr::QueriedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->queriedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +unsigned long long CppSharp::Parser::AST::ArrayTypeTraitExpr::Value::get() +{ + return ((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->value; +} + +void CppSharp::Parser::AST::ArrayTypeTraitExpr::Value::set(unsigned long long value) +{ + ((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->value = (::uint64_t)value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ArrayTypeTraitExpr::DimensionExpression::get() +{ + return (((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->dimensionExpression == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->dimensionExpression); +} + +void CppSharp::Parser::AST::ArrayTypeTraitExpr::DimensionExpression::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ArrayTypeTraitExpr*)NativePtr)->dimensionExpression = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::ExpressionTraitExpr::ExpressionTraitExpr(::CppSharp::CppParser::AST::ExpressionTraitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::ExpressionTraitExpr^ CppSharp::Parser::AST::ExpressionTraitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ExpressionTraitExpr((::CppSharp::CppParser::AST::ExpressionTraitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::ExpressionTraitExpr::~ExpressionTraitExpr() +{ +} + +CppSharp::Parser::AST::ExpressionTraitExpr::ExpressionTraitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ExpressionTraitExpr(); +} + +CppSharp::Parser::AST::ExpressionTraitExpr::ExpressionTraitExpr(CppSharp::Parser::AST::ExpressionTraitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ExpressionTraitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExpressionTraitExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ExpressionTraitExpr::QueriedExpression::get() +{ + return (((::CppSharp::CppParser::AST::ExpressionTraitExpr*)NativePtr)->queriedExpression == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ExpressionTraitExpr*)NativePtr)->queriedExpression); +} + +void CppSharp::Parser::AST::ExpressionTraitExpr::QueriedExpression::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ExpressionTraitExpr*)NativePtr)->queriedExpression = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::ExpressionTraitExpr::Value::get() +{ + return ((::CppSharp::CppParser::AST::ExpressionTraitExpr*)NativePtr)->value; +} + +void CppSharp::Parser::AST::ExpressionTraitExpr::Value::set(bool value) +{ + ((::CppSharp::CppParser::AST::ExpressionTraitExpr*)NativePtr)->value = value; +} + +CppSharp::Parser::AST::OverloadExpr::FindResult::FindResult(::CppSharp::CppParser::AST::OverloadExpr::FindResult* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::OverloadExpr::FindResult^ CppSharp::Parser::AST::OverloadExpr::FindResult::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::OverloadExpr::FindResult((::CppSharp::CppParser::AST::OverloadExpr::FindResult*) native.ToPointer()); +} + +CppSharp::Parser::AST::OverloadExpr::FindResult::~FindResult() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::OverloadExpr::FindResult::FindResult() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr::FindResult(); +} + +CppSharp::Parser::AST::OverloadExpr::FindResult::FindResult(CppSharp::Parser::AST::OverloadExpr::FindResult^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::OverloadExpr::FindResult*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr::FindResult(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::OverloadExpr::FindResult::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::OverloadExpr::FindResult::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::OverloadExpr::FindResult*)object.ToPointer(); +} +CppSharp::Parser::AST::OverloadExpr::OverloadExpr(::CppSharp::CppParser::AST::OverloadExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::OverloadExpr^ CppSharp::Parser::AST::OverloadExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::OverloadExpr::~OverloadExpr() +{ +} + +CppSharp::Parser::AST::OverloadExpr::OverloadExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr(); +} + +CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr(__arg0); +} + +CppSharp::Parser::AST::OverloadExpr::OverloadExpr(CppSharp::Parser::AST::OverloadExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::OverloadExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::OverloadExpr(__arg0); +} + +CppSharp::Parser::AST::OverloadExpr::operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::OverloadExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::OverloadExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)____ret); +} + +unsigned int CppSharp::Parser::AST::OverloadExpr::NumDecls::get() +{ + return ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->numDecls; +} + +void CppSharp::Parser::AST::OverloadExpr::NumDecls::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->numDecls = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OverloadExpr::NameLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->nameLoc); +} + +void CppSharp::Parser::AST::OverloadExpr::NameLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->nameLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OverloadExpr::TemplateKeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->templateKeywordLoc); +} + +void CppSharp::Parser::AST::OverloadExpr::TemplateKeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->templateKeywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OverloadExpr::LAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->lAngleLoc); +} + +void CppSharp::Parser::AST::OverloadExpr::LAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->lAngleLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::OverloadExpr::RAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->rAngleLoc); +} + +void CppSharp::Parser::AST::OverloadExpr::RAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->rAngleLoc = _marshal0; +} + +bool CppSharp::Parser::AST::OverloadExpr::HasTemplateKeyword::get() +{ + return ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->hasTemplateKeyword; +} + +void CppSharp::Parser::AST::OverloadExpr::HasTemplateKeyword::set(bool value) +{ + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->hasTemplateKeyword = value; +} + +bool CppSharp::Parser::AST::OverloadExpr::HasExplicitTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->hasExplicitTemplateArgs; +} + +void CppSharp::Parser::AST::OverloadExpr::HasExplicitTemplateArgs::set(bool value) +{ + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->hasExplicitTemplateArgs = value; +} + +unsigned int CppSharp::Parser::AST::OverloadExpr::NumTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->numTemplateArgs; +} + +void CppSharp::Parser::AST::OverloadExpr::NumTemplateArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::OverloadExpr*)NativePtr)->numTemplateArgs = value; +} + +CppSharp::Parser::AST::UnresolvedLookupExpr::UnresolvedLookupExpr(::CppSharp::CppParser::AST::UnresolvedLookupExpr* native) + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)native) +{ +} + +CppSharp::Parser::AST::UnresolvedLookupExpr^ CppSharp::Parser::AST::UnresolvedLookupExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UnresolvedLookupExpr((::CppSharp::CppParser::AST::UnresolvedLookupExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::UnresolvedLookupExpr::~UnresolvedLookupExpr() +{ +} + +CppSharp::Parser::AST::UnresolvedLookupExpr::UnresolvedLookupExpr() + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UnresolvedLookupExpr(); +} + +CppSharp::Parser::AST::UnresolvedLookupExpr::UnresolvedLookupExpr(CppSharp::Parser::AST::UnresolvedLookupExpr^ _0) + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UnresolvedLookupExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UnresolvedLookupExpr(__arg0); +} + +bool CppSharp::Parser::AST::UnresolvedLookupExpr::RequiresADL::get() +{ + return ((::CppSharp::CppParser::AST::UnresolvedLookupExpr*)NativePtr)->requiresADL; +} + +void CppSharp::Parser::AST::UnresolvedLookupExpr::RequiresADL::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnresolvedLookupExpr*)NativePtr)->requiresADL = value; +} + +bool CppSharp::Parser::AST::UnresolvedLookupExpr::IsOverloaded::get() +{ + return ((::CppSharp::CppParser::AST::UnresolvedLookupExpr*)NativePtr)->isOverloaded; +} + +void CppSharp::Parser::AST::UnresolvedLookupExpr::IsOverloaded::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnresolvedLookupExpr*)NativePtr)->isOverloaded = value; +} + +CppSharp::Parser::AST::DependentScopeDeclRefExpr::DependentScopeDeclRefExpr(::CppSharp::CppParser::AST::DependentScopeDeclRefExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::DependentScopeDeclRefExpr^ CppSharp::Parser::AST::DependentScopeDeclRefExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DependentScopeDeclRefExpr((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::DependentScopeDeclRefExpr::~DependentScopeDeclRefExpr() +{ +} + +CppSharp::Parser::AST::DependentScopeDeclRefExpr::DependentScopeDeclRefExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DependentScopeDeclRefExpr(); +} + +CppSharp::Parser::AST::DependentScopeDeclRefExpr::DependentScopeDeclRefExpr(CppSharp::Parser::AST::DependentScopeDeclRefExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DependentScopeDeclRefExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DependentScopeDeclRefExpr::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->location); +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->location = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DependentScopeDeclRefExpr::TemplateKeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->templateKeywordLoc); +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::TemplateKeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->templateKeywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DependentScopeDeclRefExpr::LAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->lAngleLoc); +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::LAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->lAngleLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DependentScopeDeclRefExpr::RAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->rAngleLoc); +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::RAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->rAngleLoc = _marshal0; +} + +bool CppSharp::Parser::AST::DependentScopeDeclRefExpr::HasTemplateKeyword::get() +{ + return ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->hasTemplateKeyword; +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::HasTemplateKeyword::set(bool value) +{ + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->hasTemplateKeyword = value; +} + +bool CppSharp::Parser::AST::DependentScopeDeclRefExpr::HasExplicitTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->hasExplicitTemplateArgs; +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::HasExplicitTemplateArgs::set(bool value) +{ + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->hasExplicitTemplateArgs = value; +} + +unsigned int CppSharp::Parser::AST::DependentScopeDeclRefExpr::NumTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->numTemplateArgs; +} + +void CppSharp::Parser::AST::DependentScopeDeclRefExpr::NumTemplateArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::DependentScopeDeclRefExpr*)NativePtr)->numTemplateArgs = value; +} + +CppSharp::Parser::AST::ExprWithCleanups::ExprWithCleanups(::CppSharp::CppParser::AST::ExprWithCleanups* native) + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)native) +{ +} + +CppSharp::Parser::AST::ExprWithCleanups^ CppSharp::Parser::AST::ExprWithCleanups::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ExprWithCleanups((::CppSharp::CppParser::AST::ExprWithCleanups*) native.ToPointer()); +} + +CppSharp::Parser::AST::ExprWithCleanups::~ExprWithCleanups() +{ +} + +CppSharp::Parser::AST::ExprWithCleanups::ExprWithCleanups() + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ExprWithCleanups(); +} + +CppSharp::Parser::AST::ExprWithCleanups::ExprWithCleanups(CppSharp::Parser::AST::ExprWithCleanups^ _0) + : CppSharp::Parser::AST::FullExpr((::CppSharp::CppParser::AST::FullExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ExprWithCleanups*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExprWithCleanups(__arg0); +} + +unsigned int CppSharp::Parser::AST::ExprWithCleanups::NumObjects::get() +{ + return ((::CppSharp::CppParser::AST::ExprWithCleanups*)NativePtr)->numObjects; +} + +void CppSharp::Parser::AST::ExprWithCleanups::NumObjects::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::ExprWithCleanups*)NativePtr)->numObjects = value; +} + +bool CppSharp::Parser::AST::ExprWithCleanups::CleanupsHaveSideEffects::get() +{ + return ((::CppSharp::CppParser::AST::ExprWithCleanups*)NativePtr)->cleanupsHaveSideEffects; +} + +void CppSharp::Parser::AST::ExprWithCleanups::CleanupsHaveSideEffects::set(bool value) +{ + ((::CppSharp::CppParser::AST::ExprWithCleanups*)NativePtr)->cleanupsHaveSideEffects = value; +} + +CppSharp::Parser::AST::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr(::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXUnresolvedConstructExpr^ CppSharp::Parser::AST::CXXUnresolvedConstructExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXUnresolvedConstructExpr((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXUnresolvedConstructExpr::~CXXUnresolvedConstructExpr() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr(); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXUnresolvedConstructExpr::Getarguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->getarguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::Addarguments(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->addarguments(__arg0); +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::Cleararguments() +{ + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->cleararguments(); +} + +CppSharp::Parser::AST::CXXUnresolvedConstructExpr::CXXUnresolvedConstructExpr(CppSharp::Parser::AST::CXXUnresolvedConstructExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CXXUnresolvedConstructExpr::Arguments::get() +{ + auto _tmp__arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__arguments->Add(_marshalElement); + } + return _tmp__arguments; +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->arguments = _tmpvalue; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXUnresolvedConstructExpr::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXUnresolvedConstructExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXUnresolvedConstructExpr::TypeAsWritten::get() +{ + return (&((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->typeAsWritten == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->typeAsWritten); +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::TypeAsWritten::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->typeAsWritten = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXUnresolvedConstructExpr::IsListInitialization::get() +{ + return ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->isListInitialization; +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::IsListInitialization::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->isListInitialization = value; +} + +unsigned int CppSharp::Parser::AST::CXXUnresolvedConstructExpr::ArgSize::get() +{ + return ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->arg_size; +} + +void CppSharp::Parser::AST::CXXUnresolvedConstructExpr::ArgSize::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->arg_size = value; +} + +unsigned int CppSharp::Parser::AST::CXXUnresolvedConstructExpr::GetargumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*)NativePtr)->getargumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXDependentScopeMemberExpr^ CppSharp::Parser::AST::CXXDependentScopeMemberExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXDependentScopeMemberExpr((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXDependentScopeMemberExpr::~CXXDependentScopeMemberExpr() +{ +} + +CppSharp::Parser::AST::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr(); +} + +CppSharp::Parser::AST::CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(CppSharp::Parser::AST::CXXDependentScopeMemberExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr(__arg0); +} + +bool CppSharp::Parser::AST::CXXDependentScopeMemberExpr::IsImplicitAccess::get() +{ + return ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->isImplicitAccess; +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::IsImplicitAccess::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->isImplicitAccess = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXDependentScopeMemberExpr::Base::get() +{ + return (((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->base == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->base); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::Base::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->base = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXDependentScopeMemberExpr::BaseType::get() +{ + return (&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->baseType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->baseType); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::BaseType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->baseType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXDependentScopeMemberExpr::IsArrow::get() +{ + return ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->isArrow; +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::IsArrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->isArrow = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDependentScopeMemberExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::CXXDependentScopeMemberExpr::FirstQualifierFoundInScope::get() +{ + return (((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->firstQualifierFoundInScope == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->firstQualifierFoundInScope); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::FirstQualifierFoundInScope::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->firstQualifierFoundInScope = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDependentScopeMemberExpr::MemberLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->memberLoc); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::MemberLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->memberLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDependentScopeMemberExpr::TemplateKeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->templateKeywordLoc); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::TemplateKeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->templateKeywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDependentScopeMemberExpr::LAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->lAngleLoc); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::LAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->lAngleLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXDependentScopeMemberExpr::RAngleLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->rAngleLoc); +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::RAngleLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->rAngleLoc = _marshal0; +} + +bool CppSharp::Parser::AST::CXXDependentScopeMemberExpr::HasTemplateKeyword::get() +{ + return ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->hasTemplateKeyword; +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::HasTemplateKeyword::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->hasTemplateKeyword = value; +} + +bool CppSharp::Parser::AST::CXXDependentScopeMemberExpr::HasExplicitTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->hasExplicitTemplateArgs; +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::HasExplicitTemplateArgs::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->hasExplicitTemplateArgs = value; +} + +unsigned int CppSharp::Parser::AST::CXXDependentScopeMemberExpr::NumTemplateArgs::get() +{ + return ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->numTemplateArgs; +} + +void CppSharp::Parser::AST::CXXDependentScopeMemberExpr::NumTemplateArgs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr*)NativePtr)->numTemplateArgs = value; +} + +CppSharp::Parser::AST::UnresolvedMemberExpr::UnresolvedMemberExpr(::CppSharp::CppParser::AST::UnresolvedMemberExpr* native) + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)native) +{ +} + +CppSharp::Parser::AST::UnresolvedMemberExpr^ CppSharp::Parser::AST::UnresolvedMemberExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UnresolvedMemberExpr((::CppSharp::CppParser::AST::UnresolvedMemberExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::UnresolvedMemberExpr::~UnresolvedMemberExpr() +{ +} + +CppSharp::Parser::AST::UnresolvedMemberExpr::UnresolvedMemberExpr() + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UnresolvedMemberExpr(); +} + +CppSharp::Parser::AST::UnresolvedMemberExpr::UnresolvedMemberExpr(CppSharp::Parser::AST::UnresolvedMemberExpr^ _0) + : CppSharp::Parser::AST::OverloadExpr((::CppSharp::CppParser::AST::OverloadExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UnresolvedMemberExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UnresolvedMemberExpr(__arg0); +} + +bool CppSharp::Parser::AST::UnresolvedMemberExpr::IsImplicitAccess::get() +{ + return ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->isImplicitAccess; +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::IsImplicitAccess::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->isImplicitAccess = value; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnresolvedMemberExpr::BaseType::get() +{ + return (&((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->baseType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->baseType); +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::BaseType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->baseType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::UnresolvedMemberExpr::HasUnresolvedUsing::get() +{ + return ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->hasUnresolvedUsing; +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::HasUnresolvedUsing::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->hasUnresolvedUsing = value; +} + +bool CppSharp::Parser::AST::UnresolvedMemberExpr::IsArrow::get() +{ + return ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->isArrow; +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::IsArrow::set(bool value) +{ + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->isArrow = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UnresolvedMemberExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::UnresolvedMemberExpr::MemberLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->memberLoc); +} + +void CppSharp::Parser::AST::UnresolvedMemberExpr::MemberLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::UnresolvedMemberExpr*)NativePtr)->memberLoc = _marshal0; +} + +CppSharp::Parser::AST::CXXNoexceptExpr::CXXNoexceptExpr(::CppSharp::CppParser::AST::CXXNoexceptExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXNoexceptExpr^ CppSharp::Parser::AST::CXXNoexceptExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXNoexceptExpr((::CppSharp::CppParser::AST::CXXNoexceptExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXNoexceptExpr::~CXXNoexceptExpr() +{ +} + +CppSharp::Parser::AST::CXXNoexceptExpr::CXXNoexceptExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXNoexceptExpr(); +} + +CppSharp::Parser::AST::CXXNoexceptExpr::CXXNoexceptExpr(CppSharp::Parser::AST::CXXNoexceptExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXNoexceptExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXNoexceptExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXNoexceptExpr::Operand::get() +{ + return (((::CppSharp::CppParser::AST::CXXNoexceptExpr*)NativePtr)->operand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXNoexceptExpr*)NativePtr)->operand); +} + +void CppSharp::Parser::AST::CXXNoexceptExpr::Operand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXNoexceptExpr*)NativePtr)->operand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXNoexceptExpr::Value::get() +{ + return ((::CppSharp::CppParser::AST::CXXNoexceptExpr*)NativePtr)->value; +} + +void CppSharp::Parser::AST::CXXNoexceptExpr::Value::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXNoexceptExpr*)NativePtr)->value = value; +} + +CppSharp::Parser::AST::PackExpansionExpr::PackExpansionExpr(::CppSharp::CppParser::AST::PackExpansionExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::PackExpansionExpr^ CppSharp::Parser::AST::PackExpansionExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PackExpansionExpr((::CppSharp::CppParser::AST::PackExpansionExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::PackExpansionExpr::~PackExpansionExpr() +{ +} + +CppSharp::Parser::AST::PackExpansionExpr::PackExpansionExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PackExpansionExpr(); +} + +CppSharp::Parser::AST::PackExpansionExpr::PackExpansionExpr(CppSharp::Parser::AST::PackExpansionExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PackExpansionExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PackExpansionExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::PackExpansionExpr::EllipsisLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::PackExpansionExpr*)NativePtr)->ellipsisLoc); +} + +void CppSharp::Parser::AST::PackExpansionExpr::EllipsisLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::PackExpansionExpr*)NativePtr)->ellipsisLoc = _marshal0; +} + +CppSharp::Parser::AST::SizeOfPackExpr::SizeOfPackExpr(::CppSharp::CppParser::AST::SizeOfPackExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::SizeOfPackExpr^ CppSharp::Parser::AST::SizeOfPackExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SizeOfPackExpr((::CppSharp::CppParser::AST::SizeOfPackExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::SizeOfPackExpr::~SizeOfPackExpr() +{ +} + +CppSharp::Parser::AST::SizeOfPackExpr::SizeOfPackExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SizeOfPackExpr(); +} + +CppSharp::Parser::AST::SizeOfPackExpr::SizeOfPackExpr(CppSharp::Parser::AST::SizeOfPackExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SizeOfPackExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SizeOfPackExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SizeOfPackExpr::OperatorLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->operatorLoc); +} + +void CppSharp::Parser::AST::SizeOfPackExpr::OperatorLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->operatorLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SizeOfPackExpr::PackLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->packLoc); +} + +void CppSharp::Parser::AST::SizeOfPackExpr::PackLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->packLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SizeOfPackExpr::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::SizeOfPackExpr::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::SizeOfPackExpr::Pack::get() +{ + return (((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->pack == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->pack); +} + +void CppSharp::Parser::AST::SizeOfPackExpr::Pack::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->pack = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::SizeOfPackExpr::PackLength::get() +{ + return ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->packLength; +} + +void CppSharp::Parser::AST::SizeOfPackExpr::PackLength::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->packLength = value; +} + +bool CppSharp::Parser::AST::SizeOfPackExpr::IsPartiallySubstituted::get() +{ + return ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->isPartiallySubstituted; +} + +void CppSharp::Parser::AST::SizeOfPackExpr::IsPartiallySubstituted::set(bool value) +{ + ((::CppSharp::CppParser::AST::SizeOfPackExpr*)NativePtr)->isPartiallySubstituted = value; +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::SubstNonTypeTemplateParmExpr(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr^ CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::~SubstNonTypeTemplateParmExpr() +{ +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::SubstNonTypeTemplateParmExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr(); +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::SubstNonTypeTemplateParmExpr(CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::NameLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)NativePtr)->nameLoc); +} + +void CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::NameLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)NativePtr)->nameLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::Replacement::get() +{ + return (((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)NativePtr)->replacement == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)NativePtr)->replacement); +} + +void CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr::Replacement::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr*)NativePtr)->replacement = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr^ CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::~SubstNonTypeTemplateParmPackExpr() +{ +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr(); +} + +CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr(CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::ParameterPackLocation::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)NativePtr)->parameterPackLocation); +} + +void CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::ParameterPackLocation::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)NativePtr)->parameterPackLocation = _marshal0; +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::ArgumentPack::get() +{ + return (&((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)NativePtr)->argumentPack == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)&((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)NativePtr)->argumentPack); +} + +void CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr::ArgumentPack::set(CppSharp::Parser::AST::TemplateArgument^ value) +{ + ((::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr*)NativePtr)->argumentPack = *(::CppSharp::CppParser::AST::TemplateArgument*)value->NativePtr; +} + +CppSharp::Parser::AST::FunctionParmPackExpr::FunctionParmPackExpr(::CppSharp::CppParser::AST::FunctionParmPackExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::FunctionParmPackExpr^ CppSharp::Parser::AST::FunctionParmPackExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FunctionParmPackExpr((::CppSharp::CppParser::AST::FunctionParmPackExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::FunctionParmPackExpr::~FunctionParmPackExpr() +{ +} + +CppSharp::Parser::AST::FunctionParmPackExpr::FunctionParmPackExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FunctionParmPackExpr(); +} + +CppSharp::Parser::AST::FunctionParmPackExpr::FunctionParmPackExpr(CppSharp::Parser::AST::FunctionParmPackExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionParmPackExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FunctionParmPackExpr(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::FunctionParmPackExpr::ParameterPackLocation::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::FunctionParmPackExpr*)NativePtr)->parameterPackLocation); +} + +void CppSharp::Parser::AST::FunctionParmPackExpr::ParameterPackLocation::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::FunctionParmPackExpr*)NativePtr)->parameterPackLocation = _marshal0; +} + +unsigned int CppSharp::Parser::AST::FunctionParmPackExpr::NumExpansions::get() +{ + return ((::CppSharp::CppParser::AST::FunctionParmPackExpr*)NativePtr)->numExpansions; +} + +void CppSharp::Parser::AST::FunctionParmPackExpr::NumExpansions::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::FunctionParmPackExpr*)NativePtr)->numExpansions = value; +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::ExtraState(::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState^ CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState((::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState*) native.ToPointer()); +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::~ExtraState() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::ExtraState() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState(); +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::ExtraState(CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState*)object.ToPointer(); +} +CppSharp::Parser::AST::MaterializeTemporaryExpr::MaterializeTemporaryExpr(::CppSharp::CppParser::AST::MaterializeTemporaryExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr^ CppSharp::Parser::AST::MaterializeTemporaryExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MaterializeTemporaryExpr((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::~MaterializeTemporaryExpr() +{ +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::MaterializeTemporaryExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MaterializeTemporaryExpr(); +} + +CppSharp::Parser::AST::MaterializeTemporaryExpr::MaterializeTemporaryExpr(CppSharp::Parser::AST::MaterializeTemporaryExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MaterializeTemporaryExpr(__arg0); +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::MaterializeTemporaryExpr::Temporary::get() +{ + return (((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->temporary == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->temporary); +} + +void CppSharp::Parser::AST::MaterializeTemporaryExpr::Temporary::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->temporary = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::MaterializeTemporaryExpr::TemporaryExpr::get() +{ + return (((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->TemporaryExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->TemporaryExpr); +} + +void CppSharp::Parser::AST::MaterializeTemporaryExpr::TemporaryExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->TemporaryExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::MaterializeTemporaryExpr::ManglingNumber::get() +{ + return ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->manglingNumber; +} + +void CppSharp::Parser::AST::MaterializeTemporaryExpr::ManglingNumber::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->manglingNumber = value; +} + +bool CppSharp::Parser::AST::MaterializeTemporaryExpr::IsBoundToLvalueReference::get() +{ + return ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->isBoundToLvalueReference; +} + +void CppSharp::Parser::AST::MaterializeTemporaryExpr::IsBoundToLvalueReference::set(bool value) +{ + ((::CppSharp::CppParser::AST::MaterializeTemporaryExpr*)NativePtr)->isBoundToLvalueReference = value; +} + +CppSharp::Parser::AST::CXXFoldExpr::CXXFoldExpr(::CppSharp::CppParser::AST::CXXFoldExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CXXFoldExpr^ CppSharp::Parser::AST::CXXFoldExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXFoldExpr((::CppSharp::CppParser::AST::CXXFoldExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXFoldExpr::~CXXFoldExpr() +{ +} + +CppSharp::Parser::AST::CXXFoldExpr::CXXFoldExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXFoldExpr(); +} + +CppSharp::Parser::AST::CXXFoldExpr::CXXFoldExpr(CppSharp::Parser::AST::CXXFoldExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXFoldExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXFoldExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXFoldExpr::LHS::get() +{ + return (((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::CXXFoldExpr::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXFoldExpr::RHS::get() +{ + return (((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::CXXFoldExpr::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CXXFoldExpr::IsRightFold::get() +{ + return ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->isRightFold; +} + +void CppSharp::Parser::AST::CXXFoldExpr::IsRightFold::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->isRightFold = value; +} + +bool CppSharp::Parser::AST::CXXFoldExpr::IsLeftFold::get() +{ + return ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->isLeftFold; +} + +void CppSharp::Parser::AST::CXXFoldExpr::IsLeftFold::set(bool value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->isLeftFold = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXFoldExpr::Pattern::get() +{ + return (((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->pattern == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->pattern); +} + +void CppSharp::Parser::AST::CXXFoldExpr::Pattern::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->pattern = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXFoldExpr::Init::get() +{ + return (((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->init); +} + +void CppSharp::Parser::AST::CXXFoldExpr::Init::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->init = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXFoldExpr::EllipsisLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->ellipsisLoc); +} + +void CppSharp::Parser::AST::CXXFoldExpr::EllipsisLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->ellipsisLoc = _marshal0; +} + +CppSharp::Parser::AST::BinaryOperatorKind CppSharp::Parser::AST::CXXFoldExpr::Operator::get() +{ + return (CppSharp::Parser::AST::BinaryOperatorKind)((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->_operator; +} + +void CppSharp::Parser::AST::CXXFoldExpr::Operator::set(CppSharp::Parser::AST::BinaryOperatorKind value) +{ + ((::CppSharp::CppParser::AST::CXXFoldExpr*)NativePtr)->_operator = (::CppSharp::CppParser::AST::BinaryOperatorKind)value; +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(::CppSharp::CppParser::AST::CoroutineSuspendExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::CoroutineSuspendExpr^ CppSharp::Parser::AST::CoroutineSuspendExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::~CoroutineSuspendExpr() +{ +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(); +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__arg0); +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::CoroutineSuspendExpr(CppSharp::Parser::AST::CoroutineSuspendExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoroutineSuspendExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__arg0); +} + +CppSharp::Parser::AST::CoroutineSuspendExpr::operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::CoroutineSuspendExpr) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::CoroutineSuspendExpr(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)____ret); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CoroutineSuspendExpr::KeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->keywordLoc); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::KeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->keywordLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineSuspendExpr::CommonExpr::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->commonExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->commonExpr); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::CommonExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->commonExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::OpaqueValueExpr^ CppSharp::Parser::AST::CoroutineSuspendExpr::OpaqueValue::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->opaqueValue == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::OpaqueValueExpr((::CppSharp::CppParser::AST::OpaqueValueExpr*)((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->opaqueValue); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::OpaqueValue::set(CppSharp::Parser::AST::OpaqueValueExpr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->opaqueValue = (::CppSharp::CppParser::AST::OpaqueValueExpr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineSuspendExpr::ReadyExpr::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->readyExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->readyExpr); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::ReadyExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->readyExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineSuspendExpr::SuspendExpr::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->suspendExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->suspendExpr); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::SuspendExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->suspendExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineSuspendExpr::ResumeExpr::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->resumeExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->resumeExpr); +} + +void CppSharp::Parser::AST::CoroutineSuspendExpr::ResumeExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)NativePtr)->resumeExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::CoawaitExpr::CoawaitExpr(::CppSharp::CppParser::AST::CoawaitExpr* native) + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)native) +{ +} + +CppSharp::Parser::AST::CoawaitExpr^ CppSharp::Parser::AST::CoawaitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoawaitExpr((::CppSharp::CppParser::AST::CoawaitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoawaitExpr::~CoawaitExpr() +{ +} + +CppSharp::Parser::AST::CoawaitExpr::CoawaitExpr() + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoawaitExpr(); +} + +CppSharp::Parser::AST::CoawaitExpr::CoawaitExpr(CppSharp::Parser::AST::CoawaitExpr^ _0) + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoawaitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoawaitExpr(__arg0); +} + +bool CppSharp::Parser::AST::CoawaitExpr::IsImplicit::get() +{ + return ((::CppSharp::CppParser::AST::CoawaitExpr*)NativePtr)->isImplicit; +} + +void CppSharp::Parser::AST::CoawaitExpr::IsImplicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::CoawaitExpr*)NativePtr)->isImplicit = value; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoawaitExpr::Operand::get() +{ + return (((::CppSharp::CppParser::AST::CoawaitExpr*)NativePtr)->operand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoawaitExpr*)NativePtr)->operand); +} + +void CppSharp::Parser::AST::CoawaitExpr::Operand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoawaitExpr*)NativePtr)->operand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::DependentCoawaitExpr::DependentCoawaitExpr(::CppSharp::CppParser::AST::DependentCoawaitExpr* native) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)native) +{ +} + +CppSharp::Parser::AST::DependentCoawaitExpr^ CppSharp::Parser::AST::DependentCoawaitExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DependentCoawaitExpr((::CppSharp::CppParser::AST::DependentCoawaitExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::DependentCoawaitExpr::~DependentCoawaitExpr() +{ +} + +CppSharp::Parser::AST::DependentCoawaitExpr::DependentCoawaitExpr() + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DependentCoawaitExpr(); +} + +CppSharp::Parser::AST::DependentCoawaitExpr::DependentCoawaitExpr(CppSharp::Parser::AST::DependentCoawaitExpr^ _0) + : CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DependentCoawaitExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DependentCoawaitExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::DependentCoawaitExpr::Operand::get() +{ + return (((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operand); +} + +void CppSharp::Parser::AST::DependentCoawaitExpr::Operand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::UnresolvedLookupExpr^ CppSharp::Parser::AST::DependentCoawaitExpr::OperatorCoawaitLookup::get() +{ + return (((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operatorCoawaitLookup == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::UnresolvedLookupExpr((::CppSharp::CppParser::AST::UnresolvedLookupExpr*)((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operatorCoawaitLookup); +} + +void CppSharp::Parser::AST::DependentCoawaitExpr::OperatorCoawaitLookup::set(CppSharp::Parser::AST::UnresolvedLookupExpr^ value) +{ + ((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->operatorCoawaitLookup = (::CppSharp::CppParser::AST::UnresolvedLookupExpr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DependentCoawaitExpr::KeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->keywordLoc); +} + +void CppSharp::Parser::AST::DependentCoawaitExpr::KeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DependentCoawaitExpr*)NativePtr)->keywordLoc = _marshal0; +} + +CppSharp::Parser::AST::CoyieldExpr::CoyieldExpr(::CppSharp::CppParser::AST::CoyieldExpr* native) + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)native) +{ +} + +CppSharp::Parser::AST::CoyieldExpr^ CppSharp::Parser::AST::CoyieldExpr::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoyieldExpr((::CppSharp::CppParser::AST::CoyieldExpr*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoyieldExpr::~CoyieldExpr() +{ +} + +CppSharp::Parser::AST::CoyieldExpr::CoyieldExpr() + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoyieldExpr(); +} + +CppSharp::Parser::AST::CoyieldExpr::CoyieldExpr(CppSharp::Parser::AST::CoyieldExpr^ _0) + : CppSharp::Parser::AST::CoroutineSuspendExpr((::CppSharp::CppParser::AST::CoroutineSuspendExpr*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoyieldExpr*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoyieldExpr(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoyieldExpr::Operand::get() +{ + return (((::CppSharp::CppParser::AST::CoyieldExpr*)NativePtr)->operand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoyieldExpr*)NativePtr)->operand); +} + +void CppSharp::Parser::AST::CoyieldExpr::Operand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoyieldExpr*)NativePtr)->operand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + diff --git a/src/CppParser/Bindings/CLI/Expr.h b/src/CppParser/Bindings/CLI/Expr.h new file mode 100644 index 00000000..3ef13cf3 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Expr.h @@ -0,0 +1,4499 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#pragma once + +#include "CppSharp.h" +#include +#include "Sources.h" +#include "Stmt.h" + +namespace CppSharp +{ + namespace Parser + { + ref class SourceRange; + namespace AST + { + enum struct BinaryOperatorKind; + enum struct CastKind; + enum struct ObjCBridgeCastKind; + enum struct OverloadedOperatorKind; + enum struct StmtClass; + enum struct UnaryExprOrTypeTrait; + enum struct UnaryOperatorKind; + ref class AbstractConditionalOperator; + ref class AddrLabelExpr; + ref class ArrayInitIndexExpr; + ref class ArrayInitLoopExpr; + ref class ArraySubscriptExpr; + ref class ArrayTypeTraitExpr; + ref class AsTypeExpr; + ref class AtomicExpr; + ref class BinaryConditionalOperator; + ref class BinaryOperator; + ref class BlockExpr; + ref class CStyleCastExpr; + ref class CUDAKernelCallExpr; + ref class CXXBindTemporaryExpr; + ref class CXXBoolLiteralExpr; + ref class CXXConstCastExpr; + ref class CXXConstructExpr; + ref class CXXDefaultArgExpr; + ref class CXXDefaultInitExpr; + ref class CXXDeleteExpr; + ref class CXXDependentScopeMemberExpr; + ref class CXXDynamicCastExpr; + ref class CXXFoldExpr; + ref class CXXFunctionalCastExpr; + ref class CXXInheritedCtorInitExpr; + ref class CXXMemberCallExpr; + ref class CXXNamedCastExpr; + ref class CXXNewExpr; + ref class CXXNoexceptExpr; + ref class CXXNullPtrLiteralExpr; + ref class CXXOperatorCallExpr; + ref class CXXPseudoDestructorExpr; + ref class CXXReinterpretCastExpr; + ref class CXXScalarValueInitExpr; + ref class CXXStaticCastExpr; + ref class CXXStdInitializerListExpr; + ref class CXXTemporaryObjectExpr; + ref class CXXThisExpr; + ref class CXXThrowExpr; + ref class CXXTypeidExpr; + ref class CXXUnresolvedConstructExpr; + ref class CXXUuidofExpr; + ref class CallExpr; + ref class CastExpr; + ref class CharacterLiteral; + ref class ChooseExpr; + ref class CoawaitExpr; + ref class CompoundAssignOperator; + ref class CompoundLiteralExpr; + ref class CompoundStmt; + ref class ConditionalOperator; + ref class ConstantExpr; + ref class ConvertVectorExpr; + ref class CoroutineSuspendExpr; + ref class CoyieldExpr; + ref class DeclRefExpr; + ref class Declaration; + ref class DependentCoawaitExpr; + ref class DependentScopeDeclRefExpr; + ref class DesignatedInitExpr; + ref class DesignatedInitUpdateExpr; + ref class ExplicitCastExpr; + ref class Expr; + ref class ExprWithCleanups; + ref class ExpressionTraitExpr; + ref class ExtVectorElementExpr; + ref class Field; + ref class FixedPointLiteral; + ref class FloatingLiteral; + ref class FullExpr; + ref class Function; + ref class FunctionParmPackExpr; + ref class GNUNullExpr; + ref class GenericSelectionExpr; + ref class ImaginaryLiteral; + ref class ImplicitCastExpr; + ref class ImplicitValueInitExpr; + ref class InitListExpr; + ref class IntegerLiteral; + ref class LambdaExpr; + ref class MSPropertyRefExpr; + ref class MSPropertySubscriptExpr; + ref class MaterializeTemporaryExpr; + ref class MemberExpr; + ref class Method; + ref class NoInitExpr; + ref class OffsetOfExpr; + ref class OpaqueValueExpr; + ref class OverloadExpr; + ref class PackExpansionExpr; + ref class ParenExpr; + ref class ParenListExpr; + ref class PredefinedExpr; + ref class PseudoObjectExpr; + ref class QualifiedType; + ref class ShuffleVectorExpr; + ref class SizeOfPackExpr; + ref class StmtExpr; + ref class StringLiteral; + ref class SubstNonTypeTemplateParmExpr; + ref class SubstNonTypeTemplateParmPackExpr; + ref class TemplateArgument; + ref class TypeTraitExpr; + ref class TypoExpr; + ref class UnaryExprOrTypeTraitExpr; + ref class UnaryOperator; + ref class UnresolvedLookupExpr; + ref class UnresolvedMemberExpr; + ref class UserDefinedLiteral; + ref class VAArgExpr; + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum struct 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 struct 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 struct 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 struct ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + }; + + public enum struct 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 struct UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + }; + + public ref class Expr : CppSharp::Parser::AST::Stmt + { + public: + + enum struct LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + }; + + enum struct 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 + }; + + enum struct SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + }; + + enum struct ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + }; + + enum struct NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + }; + + enum struct NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + }; + + ref class Classification : ICppInstance + { + public: + + enum struct 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 + }; + + enum struct ModifiableType + { + Untested = 0, + Modifiable = 1, + RValue = 2, + Function = 3, + LValueCast = 4, + NoSetterProperty = 5, + ConstQualified = 6, + ConstQualifiedField = 7, + ConstAddrSpace = 8, + ArrayType = 9, + IncompleteType = 10 + }; + + property ::CppSharp::CppParser::AST::Expr::Classification* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Classification(::CppSharp::CppParser::AST::Expr::Classification* native); + static Classification^ __CreateInstance(::System::IntPtr native); + Classification(); + + Classification(CppSharp::Parser::AST::Expr::Classification^ _0); + + ~Classification(); + + property CppSharp::Parser::AST::Expr::Classification::Kinds Kind + { + CppSharp::Parser::AST::Expr::Classification::Kinds get(); + void set(CppSharp::Parser::AST::Expr::Classification::Kinds); + } + + property CppSharp::Parser::AST::Expr::Classification::ModifiableType Modifiable + { + CppSharp::Parser::AST::Expr::Classification::ModifiableType get(); + void set(CppSharp::Parser::AST::Expr::Classification::ModifiableType); + } + + property bool IsLValue + { + bool get(); + void set(bool); + } + + property bool IsXValue + { + bool get(); + void set(bool); + } + + property bool IsGLValue + { + bool get(); + void set(bool); + } + + property bool IsPRValue + { + bool get(); + void set(bool); + } + + property bool IsRValue + { + bool get(); + void set(bool); + } + + property bool IsModifiable + { + bool get(); + void set(bool); + } + + protected: + bool __ownsNativeInstance; + }; + + Expr(::CppSharp::CppParser::AST::Expr* native); + static Expr^ __CreateInstance(::System::IntPtr native); + Expr(); + + Expr(CppSharp::Parser::AST::StmtClass klass); + + Expr(CppSharp::Parser::AST::Expr^ _0); + + ~Expr(); + + property CppSharp::Parser::AST::QualifiedType^ Type + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool ValueDependent + { + bool get(); + void set(bool); + } + + property bool TypeDependent + { + bool get(); + void set(bool); + } + + property bool InstantiationDependent + { + bool get(); + void set(bool); + } + + property bool ContainsUnexpandedParameterPack + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation ExprLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsLValue + { + bool get(); + void set(bool); + } + + property bool IsRValue + { + bool get(); + void set(bool); + } + + property bool IsXValue + { + bool get(); + void set(bool); + } + + property bool IsGLValue + { + bool get(); + void set(bool); + } + + property bool IsOrdinaryOrBitFieldObject + { + bool get(); + void set(bool); + } + + static operator CppSharp::Parser::AST::Expr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class FullExpr : CppSharp::Parser::AST::Expr + { + public: + + FullExpr(::CppSharp::CppParser::AST::FullExpr* native); + static FullExpr^ __CreateInstance(::System::IntPtr native); + FullExpr(); + + FullExpr(CppSharp::Parser::AST::StmtClass klass); + + FullExpr(CppSharp::Parser::AST::FullExpr^ _0); + + ~FullExpr(); + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + static operator CppSharp::Parser::AST::FullExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class ConstantExpr : CppSharp::Parser::AST::FullExpr + { + public: + + ConstantExpr(::CppSharp::CppParser::AST::ConstantExpr* native); + static ConstantExpr^ __CreateInstance(::System::IntPtr native); + ConstantExpr(); + + ConstantExpr(CppSharp::Parser::AST::ConstantExpr^ _0); + + ~ConstantExpr(); + }; + + public ref class OpaqueValueExpr : CppSharp::Parser::AST::Expr + { + public: + + OpaqueValueExpr(::CppSharp::CppParser::AST::OpaqueValueExpr* native); + static OpaqueValueExpr^ __CreateInstance(::System::IntPtr native); + OpaqueValueExpr(); + + OpaqueValueExpr(CppSharp::Parser::AST::OpaqueValueExpr^ _0); + + ~OpaqueValueExpr(); + + property bool IsUnique + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ SourceExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class DeclRefExpr : CppSharp::Parser::AST::Expr + { + public: + + DeclRefExpr(::CppSharp::CppParser::AST::DeclRefExpr* native); + static DeclRefExpr^ __CreateInstance(::System::IntPtr native); + DeclRefExpr(); + + DeclRefExpr(CppSharp::Parser::AST::DeclRefExpr^ _0); + + ~DeclRefExpr(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HadMultipleCandidates + { + bool get(); + void set(bool); + } + + property bool HasQualifier + { + bool get(); + void set(bool); + } + + property bool HasTemplateKWAndArgsInfo + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation TemplateKeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasTemplateKeyword + { + bool get(); + void set(bool); + } + + property bool HasExplicitTemplateArgs + { + bool get(); + void set(bool); + } + + property unsigned int NumTemplateArgs + { + unsigned int get(); + void set(unsigned int); + } + + property bool RefersToEnclosingVariableOrCapture + { + bool get(); + void set(bool); + } + }; + + public ref class IntegerLiteral : CppSharp::Parser::AST::Expr + { + public: + + IntegerLiteral(::CppSharp::CppParser::AST::IntegerLiteral* native); + static IntegerLiteral^ __CreateInstance(::System::IntPtr native); + IntegerLiteral(); + + IntegerLiteral(CppSharp::Parser::AST::IntegerLiteral^ _0); + + ~IntegerLiteral(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class FixedPointLiteral : CppSharp::Parser::AST::Expr + { + public: + + FixedPointLiteral(::CppSharp::CppParser::AST::FixedPointLiteral* native); + static FixedPointLiteral^ __CreateInstance(::System::IntPtr native); + FixedPointLiteral(); + + FixedPointLiteral(CppSharp::Parser::AST::FixedPointLiteral^ _0); + + ~FixedPointLiteral(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CharacterLiteral : CppSharp::Parser::AST::Expr + { + public: + + enum struct CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + }; + + CharacterLiteral(::CppSharp::CppParser::AST::CharacterLiteral* native); + static CharacterLiteral^ __CreateInstance(::System::IntPtr native); + CharacterLiteral(); + + CharacterLiteral(CppSharp::Parser::AST::CharacterLiteral^ _0); + + ~CharacterLiteral(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::CharacterLiteral::CharacterKind Kind + { + CppSharp::Parser::AST::CharacterLiteral::CharacterKind get(); + void set(CppSharp::Parser::AST::CharacterLiteral::CharacterKind); + } + + property unsigned int Value + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class FloatingLiteral : CppSharp::Parser::AST::Expr + { + public: + + FloatingLiteral(::CppSharp::CppParser::AST::FloatingLiteral* native); + static FloatingLiteral^ __CreateInstance(::System::IntPtr native); + FloatingLiteral(); + + FloatingLiteral(CppSharp::Parser::AST::FloatingLiteral^ _0); + + ~FloatingLiteral(); + + property bool Exact + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property double ValueAsApproximateDouble + { + double get(); + void set(double); + } + }; + + public ref class ImaginaryLiteral : CppSharp::Parser::AST::Expr + { + public: + + ImaginaryLiteral(::CppSharp::CppParser::AST::ImaginaryLiteral* native); + static ImaginaryLiteral^ __CreateInstance(::System::IntPtr native); + ImaginaryLiteral(); + + ImaginaryLiteral(CppSharp::Parser::AST::ImaginaryLiteral^ _0); + + ~ImaginaryLiteral(); + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class StringLiteral : CppSharp::Parser::AST::Expr + { + public: + + enum struct StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + }; + + StringLiteral(::CppSharp::CppParser::AST::StringLiteral* native); + static StringLiteral^ __CreateInstance(::System::IntPtr native); + StringLiteral(); + + StringLiteral(CppSharp::Parser::AST::StringLiteral^ _0); + + ~StringLiteral(); + + property System::String^ String + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ Bytes + { + System::String^ get(); + void set(System::String^); + } + + property unsigned int ByteLength + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int Length + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int CharByteWidth + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::AST::StringLiteral::StringKind Kind + { + CppSharp::Parser::AST::StringLiteral::StringKind get(); + void set(CppSharp::Parser::AST::StringLiteral::StringKind); + } + + property bool IsAscii + { + bool get(); + void set(bool); + } + + property bool IsWide + { + bool get(); + void set(bool); + } + + property bool IsUTF8 + { + bool get(); + void set(bool); + } + + property bool IsUTF16 + { + bool get(); + void set(bool); + } + + property bool IsUTF32 + { + bool get(); + void set(bool); + } + + property bool IsPascal + { + bool get(); + void set(bool); + } + + property bool ContainsNonAscii + { + bool get(); + void set(bool); + } + + property bool ContainsNonAsciiOrNull + { + bool get(); + void set(bool); + } + + property unsigned int NumConcatenated + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class PredefinedExpr : CppSharp::Parser::AST::Expr + { + public: + + enum struct IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + }; + + PredefinedExpr(::CppSharp::CppParser::AST::PredefinedExpr* native); + static PredefinedExpr^ __CreateInstance(::System::IntPtr native); + PredefinedExpr(); + + PredefinedExpr(CppSharp::Parser::AST::PredefinedExpr^ _0); + + ~PredefinedExpr(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::PredefinedExpr::IdentKind identKind + { + CppSharp::Parser::AST::PredefinedExpr::IdentKind get(); + void set(CppSharp::Parser::AST::PredefinedExpr::IdentKind); + } + }; + + public ref class ParenExpr : CppSharp::Parser::AST::Expr + { + public: + + ParenExpr(::CppSharp::CppParser::AST::ParenExpr* native); + static ParenExpr^ __CreateInstance(::System::IntPtr native); + ParenExpr(); + + ParenExpr(CppSharp::Parser::AST::ParenExpr^ _0); + + ~ParenExpr(); + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation LParen + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParen + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class UnaryOperator : CppSharp::Parser::AST::Expr + { + public: + + UnaryOperator(::CppSharp::CppParser::AST::UnaryOperator* native); + static UnaryOperator^ __CreateInstance(::System::IntPtr native); + UnaryOperator(); + + UnaryOperator(CppSharp::Parser::AST::UnaryOperator^ _0); + + ~UnaryOperator(); + + property CppSharp::Parser::AST::UnaryOperatorKind Opcode + { + CppSharp::Parser::AST::UnaryOperatorKind get(); + void set(CppSharp::Parser::AST::UnaryOperatorKind); + } + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool CanOverflow + { + bool get(); + void set(bool); + } + }; + + public ref class OffsetOfExpr : CppSharp::Parser::AST::Expr + { + public: + + OffsetOfExpr(::CppSharp::CppParser::AST::OffsetOfExpr* native); + static OffsetOfExpr^ __CreateInstance(::System::IntPtr native); + OffsetOfExpr(); + + OffsetOfExpr(CppSharp::Parser::AST::OffsetOfExpr^ _0); + + ~OffsetOfExpr(); + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumComponents + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumExpressions + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class UnaryExprOrTypeTraitExpr : CppSharp::Parser::AST::Expr + { + public: + + UnaryExprOrTypeTraitExpr(::CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr* native); + static UnaryExprOrTypeTraitExpr^ __CreateInstance(::System::IntPtr native); + UnaryExprOrTypeTraitExpr(); + + UnaryExprOrTypeTraitExpr(CppSharp::Parser::AST::UnaryExprOrTypeTraitExpr^ _0); + + ~UnaryExprOrTypeTraitExpr(); + + property CppSharp::Parser::AST::UnaryExprOrTypeTrait Kind + { + CppSharp::Parser::AST::UnaryExprOrTypeTrait get(); + void set(CppSharp::Parser::AST::UnaryExprOrTypeTrait); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsArgumentType + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::QualifiedType^ ArgumentType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ TypeOfArgument + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class ArraySubscriptExpr : CppSharp::Parser::AST::Expr + { + public: + + ArraySubscriptExpr(::CppSharp::CppParser::AST::ArraySubscriptExpr* native); + static ArraySubscriptExpr^ __CreateInstance(::System::IntPtr native); + ArraySubscriptExpr(); + + ArraySubscriptExpr(CppSharp::Parser::AST::ArraySubscriptExpr^ _0); + + ~ArraySubscriptExpr(); + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation RBracketLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CallExpr : CppSharp::Parser::AST::Expr + { + public: + + CallExpr(::CppSharp::CppParser::AST::CallExpr* native); + static CallExpr^ __CreateInstance(::System::IntPtr native); + CallExpr(); + + CallExpr(CppSharp::Parser::AST::StmtClass klass); + + CallExpr(CppSharp::Parser::AST::CallExpr^ _0); + + ~CallExpr(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::Expr^ Callee + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumArgs + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumCommas + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int BuiltinCallee + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsCallToStdMove + { + bool get(); + void set(bool); + } + + property unsigned int GetargumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ Getarguments(unsigned int i); + + void Addarguments(CppSharp::Parser::AST::Expr^ s); + + void Cleararguments(); + + static operator CppSharp::Parser::AST::CallExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class MemberExpr : CppSharp::Parser::AST::Expr + { + public: + + MemberExpr(::CppSharp::CppParser::AST::MemberExpr* native); + static MemberExpr^ __CreateInstance(::System::IntPtr native); + MemberExpr(); + + MemberExpr(CppSharp::Parser::AST::MemberExpr^ _0); + + ~MemberExpr(); + + property CppSharp::Parser::AST::Expr^ Base + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool Arrow + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation MemberLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HadMultipleCandidates + { + bool get(); + void set(bool); + } + + property bool HasQualifier + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation TemplateKeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasTemplateKeyword + { + bool get(); + void set(bool); + } + + property bool HasExplicitTemplateArgs + { + bool get(); + void set(bool); + } + + property unsigned int NumTemplateArgs + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsImplicitAccess + { + bool get(); + void set(bool); + } + }; + + public ref class CompoundLiteralExpr : CppSharp::Parser::AST::Expr + { + public: + + CompoundLiteralExpr(::CppSharp::CppParser::AST::CompoundLiteralExpr* native); + static CompoundLiteralExpr^ __CreateInstance(::System::IntPtr native); + CompoundLiteralExpr(); + + CompoundLiteralExpr(CppSharp::Parser::AST::CompoundLiteralExpr^ _0); + + ~CompoundLiteralExpr(); + + property CppSharp::Parser::AST::Expr^ Initializer + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool FileScope + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CastExpr : CppSharp::Parser::AST::Expr + { + public: + + CastExpr(::CppSharp::CppParser::AST::CastExpr* native); + static CastExpr^ __CreateInstance(::System::IntPtr native); + CastExpr(); + + CastExpr(CppSharp::Parser::AST::StmtClass klass); + + CastExpr(CppSharp::Parser::AST::CastExpr^ _0); + + ~CastExpr(); + + property CppSharp::Parser::AST::CastKind CastKind + { + CppSharp::Parser::AST::CastKind get(); + void set(CppSharp::Parser::AST::CastKind); + } + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Declaration^ ConversionFunction + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property bool PathEmpty + { + bool get(); + void set(bool); + } + + property unsigned int PathSize + { + unsigned int get(); + void set(unsigned int); + } + + static operator CppSharp::Parser::AST::CastExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class ImplicitCastExpr : CppSharp::Parser::AST::CastExpr + { + public: + + enum struct OnStack_t + { + OnStack = 0 + }; + + ImplicitCastExpr(::CppSharp::CppParser::AST::ImplicitCastExpr* native); + static ImplicitCastExpr^ __CreateInstance(::System::IntPtr native); + ImplicitCastExpr(); + + ImplicitCastExpr(CppSharp::Parser::AST::ImplicitCastExpr^ _0); + + ~ImplicitCastExpr(); + + property bool IsPartOfExplicitCast + { + bool get(); + void set(bool); + } + }; + + public ref class ExplicitCastExpr : CppSharp::Parser::AST::CastExpr + { + public: + + ExplicitCastExpr(::CppSharp::CppParser::AST::ExplicitCastExpr* native); + static ExplicitCastExpr^ __CreateInstance(::System::IntPtr native); + ExplicitCastExpr(); + + ExplicitCastExpr(CppSharp::Parser::AST::StmtClass klass); + + ExplicitCastExpr(CppSharp::Parser::AST::ExplicitCastExpr^ _0); + + ~ExplicitCastExpr(); + + property CppSharp::Parser::AST::QualifiedType^ TypeAsWritten + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + static operator CppSharp::Parser::AST::ExplicitCastExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CStyleCastExpr : CppSharp::Parser::AST::ExplicitCastExpr + { + public: + + CStyleCastExpr(::CppSharp::CppParser::AST::CStyleCastExpr* native); + static CStyleCastExpr^ __CreateInstance(::System::IntPtr native); + CStyleCastExpr(); + + CStyleCastExpr(CppSharp::Parser::AST::CStyleCastExpr^ _0); + + ~CStyleCastExpr(); + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class BinaryOperator : CppSharp::Parser::AST::Expr + { + public: + + BinaryOperator(::CppSharp::CppParser::AST::BinaryOperator* native); + static BinaryOperator^ __CreateInstance(::System::IntPtr native); + BinaryOperator(); + + BinaryOperator(CppSharp::Parser::AST::StmtClass klass); + + BinaryOperator(CppSharp::Parser::AST::BinaryOperator^ _0); + + ~BinaryOperator(); + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::BinaryOperatorKind Opcode + { + CppSharp::Parser::AST::BinaryOperatorKind get(); + void set(CppSharp::Parser::AST::BinaryOperatorKind); + } + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool IsFPContractableWithinStatement + { + bool get(); + void set(bool); + } + + property bool IsFEnvAccessOn + { + bool get(); + void set(bool); + } + + static operator CppSharp::Parser::AST::BinaryOperator^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CompoundAssignOperator : CppSharp::Parser::AST::BinaryOperator + { + public: + + CompoundAssignOperator(::CppSharp::CppParser::AST::CompoundAssignOperator* native); + static CompoundAssignOperator^ __CreateInstance(::System::IntPtr native); + CompoundAssignOperator(); + + CompoundAssignOperator(CppSharp::Parser::AST::CompoundAssignOperator^ _0); + + ~CompoundAssignOperator(); + + property CppSharp::Parser::AST::QualifiedType^ ComputationLHSType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ ComputationResultType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class AbstractConditionalOperator : CppSharp::Parser::AST::Expr + { + public: + + AbstractConditionalOperator(::CppSharp::CppParser::AST::AbstractConditionalOperator* native); + static AbstractConditionalOperator^ __CreateInstance(::System::IntPtr native); + AbstractConditionalOperator(); + + AbstractConditionalOperator(CppSharp::Parser::AST::StmtClass klass); + + AbstractConditionalOperator(CppSharp::Parser::AST::AbstractConditionalOperator^ _0); + + ~AbstractConditionalOperator(); + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ TrueExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ FalseExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation QuestionLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation ColonLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + static operator CppSharp::Parser::AST::AbstractConditionalOperator^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class ConditionalOperator : CppSharp::Parser::AST::AbstractConditionalOperator + { + public: + + ConditionalOperator(::CppSharp::CppParser::AST::ConditionalOperator* native); + static ConditionalOperator^ __CreateInstance(::System::IntPtr native); + ConditionalOperator(); + + ConditionalOperator(CppSharp::Parser::AST::ConditionalOperator^ _0); + + ~ConditionalOperator(); + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class BinaryConditionalOperator : CppSharp::Parser::AST::AbstractConditionalOperator + { + public: + + BinaryConditionalOperator(::CppSharp::CppParser::AST::BinaryConditionalOperator* native); + static BinaryConditionalOperator^ __CreateInstance(::System::IntPtr native); + BinaryConditionalOperator(); + + BinaryConditionalOperator(CppSharp::Parser::AST::BinaryConditionalOperator^ _0); + + ~BinaryConditionalOperator(); + + property CppSharp::Parser::AST::Expr^ Common + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::OpaqueValueExpr^ OpaqueValue + { + CppSharp::Parser::AST::OpaqueValueExpr^ get(); + void set(CppSharp::Parser::AST::OpaqueValueExpr^); + } + }; + + public ref class AddrLabelExpr : CppSharp::Parser::AST::Expr + { + public: + + AddrLabelExpr(::CppSharp::CppParser::AST::AddrLabelExpr* native); + static AddrLabelExpr^ __CreateInstance(::System::IntPtr native); + AddrLabelExpr(); + + AddrLabelExpr(CppSharp::Parser::AST::AddrLabelExpr^ _0); + + ~AddrLabelExpr(); + + property CppSharp::Parser::SourceLocation AmpAmpLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LabelLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class StmtExpr : CppSharp::Parser::AST::Expr + { + public: + + StmtExpr(::CppSharp::CppParser::AST::StmtExpr* native); + static StmtExpr^ __CreateInstance(::System::IntPtr native); + StmtExpr(); + + StmtExpr(CppSharp::Parser::AST::StmtExpr^ _0); + + ~StmtExpr(); + + property CppSharp::Parser::AST::CompoundStmt^ SubStmt + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class ShuffleVectorExpr : CppSharp::Parser::AST::Expr + { + public: + + ShuffleVectorExpr(::CppSharp::CppParser::AST::ShuffleVectorExpr* native); + static ShuffleVectorExpr^ __CreateInstance(::System::IntPtr native); + ShuffleVectorExpr(); + + ShuffleVectorExpr(CppSharp::Parser::AST::ShuffleVectorExpr^ _0); + + ~ShuffleVectorExpr(); + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumSubExprs + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class ConvertVectorExpr : CppSharp::Parser::AST::Expr + { + public: + + ConvertVectorExpr(::CppSharp::CppParser::AST::ConvertVectorExpr* native); + static ConvertVectorExpr^ __CreateInstance(::System::IntPtr native); + ConvertVectorExpr(); + + ConvertVectorExpr(CppSharp::Parser::AST::ConvertVectorExpr^ _0); + + ~ConvertVectorExpr(); + + property CppSharp::Parser::AST::Expr^ SrcExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class ChooseExpr : CppSharp::Parser::AST::Expr + { + public: + + ChooseExpr(::CppSharp::CppParser::AST::ChooseExpr* native); + static ChooseExpr^ __CreateInstance(::System::IntPtr native); + ChooseExpr(); + + ChooseExpr(CppSharp::Parser::AST::ChooseExpr^ _0); + + ~ChooseExpr(); + + property bool IsConditionTrue + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsConditionDependent + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ ChosenSubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class GNUNullExpr : CppSharp::Parser::AST::Expr + { + public: + + GNUNullExpr(::CppSharp::CppParser::AST::GNUNullExpr* native); + static GNUNullExpr^ __CreateInstance(::System::IntPtr native); + GNUNullExpr(); + + GNUNullExpr(CppSharp::Parser::AST::GNUNullExpr^ _0); + + ~GNUNullExpr(); + + property CppSharp::Parser::SourceLocation TokenLocation + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class VAArgExpr : CppSharp::Parser::AST::Expr + { + public: + + VAArgExpr(::CppSharp::CppParser::AST::VAArgExpr* native); + static VAArgExpr^ __CreateInstance(::System::IntPtr native); + VAArgExpr(); + + VAArgExpr(CppSharp::Parser::AST::VAArgExpr^ _0); + + ~VAArgExpr(); + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool IsMicrosoftABI + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class InitListExpr : CppSharp::Parser::AST::Expr + { + public: + + InitListExpr(::CppSharp::CppParser::AST::InitListExpr* native); + static InitListExpr^ __CreateInstance(::System::IntPtr native); + InitListExpr(); + + InitListExpr(CppSharp::Parser::AST::InitListExpr^ _0); + + ~InitListExpr(); + + property CppSharp::Parser::AST::Expr^ ArrayFiller + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation LBraceLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RBraceLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::InitListExpr^ SyntacticForm + { + CppSharp::Parser::AST::InitListExpr^ get(); + void set(CppSharp::Parser::AST::InitListExpr^); + } + + property unsigned int NumInits + { + unsigned int get(); + void set(unsigned int); + } + + property bool HasArrayFiller + { + bool get(); + void set(bool); + } + + property bool IsExplicit + { + bool get(); + void set(bool); + } + + property bool IsStringLiteralInit + { + bool get(); + void set(bool); + } + + property bool IsTransparent + { + bool get(); + void set(bool); + } + + property bool IsSemanticForm + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::InitListExpr^ SemanticForm + { + CppSharp::Parser::AST::InitListExpr^ get(); + void set(CppSharp::Parser::AST::InitListExpr^); + } + + property bool IsSyntacticForm + { + bool get(); + void set(bool); + } + }; + + public ref class DesignatedInitExpr : CppSharp::Parser::AST::Expr + { + public: + + ref class Designator : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::DesignatedInitExpr::Designator* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Designator(::CppSharp::CppParser::AST::DesignatedInitExpr::Designator* native); + static Designator^ __CreateInstance(::System::IntPtr native); + Designator(); + + Designator(CppSharp::Parser::AST::DesignatedInitExpr::Designator^ _0); + + ~Designator(); + + property CppSharp::Parser::AST::Field^ Field + { + CppSharp::Parser::AST::Field^ get(); + void set(CppSharp::Parser::AST::Field^); + } + + property bool IsFieldDesignator + { + bool get(); + void set(bool); + } + + property bool IsArrayDesignator + { + bool get(); + void set(bool); + } + + property bool IsArrayRangeDesignator + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation DotLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation FieldLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LBracketLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RBracketLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation EllipsisLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int FirstExprIndex + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceRange^ SourceRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + protected: + bool __ownsNativeInstance; + }; + + ref class FieldDesignator : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + FieldDesignator(::CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator* native); + static FieldDesignator^ __CreateInstance(::System::IntPtr native); + FieldDesignator(); + + FieldDesignator(CppSharp::Parser::AST::DesignatedInitExpr::FieldDesignator^ _0); + + ~FieldDesignator(); + + protected: + bool __ownsNativeInstance; + }; + + ref class ArrayOrRangeDesignator : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ArrayOrRangeDesignator(::CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator* native); + static ArrayOrRangeDesignator^ __CreateInstance(::System::IntPtr native); + ArrayOrRangeDesignator(); + + ArrayOrRangeDesignator(CppSharp::Parser::AST::DesignatedInitExpr::ArrayOrRangeDesignator^ _0); + + ~ArrayOrRangeDesignator(); + + protected: + bool __ownsNativeInstance; + }; + + DesignatedInitExpr(::CppSharp::CppParser::AST::DesignatedInitExpr* native); + static DesignatedInitExpr^ __CreateInstance(::System::IntPtr native); + DesignatedInitExpr(); + + DesignatedInitExpr(CppSharp::Parser::AST::DesignatedInitExpr^ _0); + + ~DesignatedInitExpr(); + + property CppSharp::Parser::SourceLocation EqualOrColonLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ Init + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property unsigned int Size + { + unsigned int get(); + void set(unsigned int); + } + + property bool UsesGNUSyntax + { + bool get(); + void set(bool); + } + + property unsigned int NumSubExprs + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceRange^ DesignatorsSourceRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + }; + + public ref class NoInitExpr : CppSharp::Parser::AST::Expr + { + public: + + NoInitExpr(::CppSharp::CppParser::AST::NoInitExpr* native); + static NoInitExpr^ __CreateInstance(::System::IntPtr native); + NoInitExpr(); + + NoInitExpr(CppSharp::Parser::AST::NoInitExpr^ _0); + + ~NoInitExpr(); + }; + + public ref class DesignatedInitUpdateExpr : CppSharp::Parser::AST::Expr + { + public: + + DesignatedInitUpdateExpr(::CppSharp::CppParser::AST::DesignatedInitUpdateExpr* native); + static DesignatedInitUpdateExpr^ __CreateInstance(::System::IntPtr native); + DesignatedInitUpdateExpr(); + + DesignatedInitUpdateExpr(CppSharp::Parser::AST::DesignatedInitUpdateExpr^ _0); + + ~DesignatedInitUpdateExpr(); + + property CppSharp::Parser::AST::Expr^ Base + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::InitListExpr^ Updater + { + CppSharp::Parser::AST::InitListExpr^ get(); + void set(CppSharp::Parser::AST::InitListExpr^); + } + }; + + public ref class ArrayInitLoopExpr : CppSharp::Parser::AST::Expr + { + public: + + ArrayInitLoopExpr(::CppSharp::CppParser::AST::ArrayInitLoopExpr* native); + static ArrayInitLoopExpr^ __CreateInstance(::System::IntPtr native); + ArrayInitLoopExpr(); + + ArrayInitLoopExpr(CppSharp::Parser::AST::ArrayInitLoopExpr^ _0); + + ~ArrayInitLoopExpr(); + + property CppSharp::Parser::AST::OpaqueValueExpr^ CommonExpr + { + CppSharp::Parser::AST::OpaqueValueExpr^ get(); + void set(CppSharp::Parser::AST::OpaqueValueExpr^); + } + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class ArrayInitIndexExpr : CppSharp::Parser::AST::Expr + { + public: + + ArrayInitIndexExpr(::CppSharp::CppParser::AST::ArrayInitIndexExpr* native); + static ArrayInitIndexExpr^ __CreateInstance(::System::IntPtr native); + ArrayInitIndexExpr(); + + ArrayInitIndexExpr(CppSharp::Parser::AST::ArrayInitIndexExpr^ _0); + + ~ArrayInitIndexExpr(); + }; + + public ref class ImplicitValueInitExpr : CppSharp::Parser::AST::Expr + { + public: + + ImplicitValueInitExpr(::CppSharp::CppParser::AST::ImplicitValueInitExpr* native); + static ImplicitValueInitExpr^ __CreateInstance(::System::IntPtr native); + ImplicitValueInitExpr(); + + ImplicitValueInitExpr(CppSharp::Parser::AST::ImplicitValueInitExpr^ _0); + + ~ImplicitValueInitExpr(); + }; + + public ref class ParenListExpr : CppSharp::Parser::AST::Expr + { + public: + + ParenListExpr(::CppSharp::CppParser::AST::ParenListExpr* native); + static ParenListExpr^ __CreateInstance(::System::IntPtr native); + ParenListExpr(); + + ParenListExpr(CppSharp::Parser::AST::ParenListExpr^ _0); + + ~ParenListExpr(); + + property unsigned int NumExprs + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class GenericSelectionExpr : CppSharp::Parser::AST::Expr + { + public: + + GenericSelectionExpr(::CppSharp::CppParser::AST::GenericSelectionExpr* native); + static GenericSelectionExpr^ __CreateInstance(::System::IntPtr native); + GenericSelectionExpr(); + + GenericSelectionExpr(CppSharp::Parser::AST::GenericSelectionExpr^ _0); + + ~GenericSelectionExpr(); + + property unsigned int NumAssocs + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceLocation GenericLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation DefaultLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsResultDependent + { + bool get(); + void set(bool); + } + + property unsigned int ResultIndex + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class ExtVectorElementExpr : CppSharp::Parser::AST::Expr + { + public: + + ExtVectorElementExpr(::CppSharp::CppParser::AST::ExtVectorElementExpr* native); + static ExtVectorElementExpr^ __CreateInstance(::System::IntPtr native); + ExtVectorElementExpr(); + + ExtVectorElementExpr(CppSharp::Parser::AST::ExtVectorElementExpr^ _0); + + ~ExtVectorElementExpr(); + + property CppSharp::Parser::AST::Expr^ Base + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation AccessorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumElements + { + unsigned int get(); + void set(unsigned int); + } + + property bool ContainsDuplicateElements + { + bool get(); + void set(bool); + } + + property bool IsArrow + { + bool get(); + void set(bool); + } + }; + + public ref class BlockExpr : CppSharp::Parser::AST::Expr + { + public: + + BlockExpr(::CppSharp::CppParser::AST::BlockExpr* native); + static BlockExpr^ __CreateInstance(::System::IntPtr native); + BlockExpr(); + + BlockExpr(CppSharp::Parser::AST::BlockExpr^ _0); + + ~BlockExpr(); + + property CppSharp::Parser::SourceLocation CaretLocation + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class AsTypeExpr : CppSharp::Parser::AST::Expr + { + public: + + AsTypeExpr(::CppSharp::CppParser::AST::AsTypeExpr* native); + static AsTypeExpr^ __CreateInstance(::System::IntPtr native); + AsTypeExpr(); + + AsTypeExpr(CppSharp::Parser::AST::AsTypeExpr^ _0); + + ~AsTypeExpr(); + + property CppSharp::Parser::AST::Expr^ SrcExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class PseudoObjectExpr : CppSharp::Parser::AST::Expr + { + public: + + PseudoObjectExpr(::CppSharp::CppParser::AST::PseudoObjectExpr* native); + static PseudoObjectExpr^ __CreateInstance(::System::IntPtr native); + PseudoObjectExpr(); + + PseudoObjectExpr(CppSharp::Parser::AST::PseudoObjectExpr^ _0); + + ~PseudoObjectExpr(); + + property unsigned int ResultExprIndex + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumSemanticExprs + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class AtomicExpr : CppSharp::Parser::AST::Expr + { + public: + + enum struct 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 + }; + + AtomicExpr(::CppSharp::CppParser::AST::AtomicExpr* native); + static AtomicExpr^ __CreateInstance(::System::IntPtr native); + AtomicExpr(); + + AtomicExpr(CppSharp::Parser::AST::AtomicExpr^ _0); + + ~AtomicExpr(); + + property CppSharp::Parser::AST::Expr^ Ptr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Order + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Scope + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Val1 + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ OrderFail + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Val2 + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Weak + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::QualifiedType^ ValueType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::AtomicExpr::AtomicOp Op + { + CppSharp::Parser::AST::AtomicExpr::AtomicOp get(); + void set(CppSharp::Parser::AST::AtomicExpr::AtomicOp); + } + + property bool IsVolatile + { + bool get(); + void set(bool); + } + + property bool IsCmpXChg + { + bool get(); + void set(bool); + } + + property bool IsOpenCL + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation BuiltinLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class TypoExpr : CppSharp::Parser::AST::Expr + { + public: + + TypoExpr(::CppSharp::CppParser::AST::TypoExpr* native); + static TypoExpr^ __CreateInstance(::System::IntPtr native); + TypoExpr(); + + TypoExpr(CppSharp::Parser::AST::TypoExpr^ _0); + + ~TypoExpr(); + }; + + public ref class CXXOperatorCallExpr : CppSharp::Parser::AST::CallExpr + { + public: + + CXXOperatorCallExpr(::CppSharp::CppParser::AST::CXXOperatorCallExpr* native); + static CXXOperatorCallExpr^ __CreateInstance(::System::IntPtr native); + CXXOperatorCallExpr(); + + CXXOperatorCallExpr(CppSharp::Parser::AST::CXXOperatorCallExpr^ _0); + + ~CXXOperatorCallExpr(); + + property CppSharp::Parser::AST::OverloadedOperatorKind Operator + { + CppSharp::Parser::AST::OverloadedOperatorKind get(); + void set(CppSharp::Parser::AST::OverloadedOperatorKind); + } + + property bool IsInfixBinaryOp + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsFPContractableWithinStatement + { + bool get(); + void set(bool); + } + }; + + public ref class CXXMemberCallExpr : CppSharp::Parser::AST::CallExpr + { + public: + + CXXMemberCallExpr(::CppSharp::CppParser::AST::CXXMemberCallExpr* native); + static CXXMemberCallExpr^ __CreateInstance(::System::IntPtr native); + CXXMemberCallExpr(); + + CXXMemberCallExpr(CppSharp::Parser::AST::CXXMemberCallExpr^ _0); + + ~CXXMemberCallExpr(); + + property CppSharp::Parser::AST::Expr^ ImplicitObjectArgument + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Method^ MethodDecl + { + CppSharp::Parser::AST::Method^ get(); + void set(CppSharp::Parser::AST::Method^); + } + }; + + public ref class CUDAKernelCallExpr : CppSharp::Parser::AST::CallExpr + { + public: + + CUDAKernelCallExpr(::CppSharp::CppParser::AST::CUDAKernelCallExpr* native); + static CUDAKernelCallExpr^ __CreateInstance(::System::IntPtr native); + CUDAKernelCallExpr(); + + CUDAKernelCallExpr(CppSharp::Parser::AST::CUDAKernelCallExpr^ _0); + + ~CUDAKernelCallExpr(); + + property CppSharp::Parser::AST::CallExpr^ Config + { + CppSharp::Parser::AST::CallExpr^ get(); + void set(CppSharp::Parser::AST::CallExpr^); + } + }; + + public ref class CXXNamedCastExpr : CppSharp::Parser::AST::ExplicitCastExpr + { + public: + + CXXNamedCastExpr(::CppSharp::CppParser::AST::CXXNamedCastExpr* native); + static CXXNamedCastExpr^ __CreateInstance(::System::IntPtr native); + CXXNamedCastExpr(); + + CXXNamedCastExpr(CppSharp::Parser::AST::StmtClass klass); + + CXXNamedCastExpr(CppSharp::Parser::AST::CXXNamedCastExpr^ _0); + + ~CXXNamedCastExpr(); + + property System::String^ CastName + { + System::String^ get(); + void set(System::String^); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceRange^ AngleBrackets + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + static operator CppSharp::Parser::AST::CXXNamedCastExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CXXStaticCastExpr : CppSharp::Parser::AST::CXXNamedCastExpr + { + public: + + CXXStaticCastExpr(::CppSharp::CppParser::AST::CXXStaticCastExpr* native); + static CXXStaticCastExpr^ __CreateInstance(::System::IntPtr native); + CXXStaticCastExpr(); + + CXXStaticCastExpr(CppSharp::Parser::AST::CXXStaticCastExpr^ _0); + + ~CXXStaticCastExpr(); + }; + + public ref class CXXDynamicCastExpr : CppSharp::Parser::AST::CXXNamedCastExpr + { + public: + + CXXDynamicCastExpr(::CppSharp::CppParser::AST::CXXDynamicCastExpr* native); + static CXXDynamicCastExpr^ __CreateInstance(::System::IntPtr native); + CXXDynamicCastExpr(); + + CXXDynamicCastExpr(CppSharp::Parser::AST::CXXDynamicCastExpr^ _0); + + ~CXXDynamicCastExpr(); + + property bool IsAlwaysNull + { + bool get(); + void set(bool); + } + }; + + public ref class CXXReinterpretCastExpr : CppSharp::Parser::AST::CXXNamedCastExpr + { + public: + + CXXReinterpretCastExpr(::CppSharp::CppParser::AST::CXXReinterpretCastExpr* native); + static CXXReinterpretCastExpr^ __CreateInstance(::System::IntPtr native); + CXXReinterpretCastExpr(); + + CXXReinterpretCastExpr(CppSharp::Parser::AST::CXXReinterpretCastExpr^ _0); + + ~CXXReinterpretCastExpr(); + }; + + public ref class CXXConstCastExpr : CppSharp::Parser::AST::CXXNamedCastExpr + { + public: + + CXXConstCastExpr(::CppSharp::CppParser::AST::CXXConstCastExpr* native); + static CXXConstCastExpr^ __CreateInstance(::System::IntPtr native); + CXXConstCastExpr(); + + CXXConstCastExpr(CppSharp::Parser::AST::CXXConstCastExpr^ _0); + + ~CXXConstCastExpr(); + }; + + public ref class UserDefinedLiteral : CppSharp::Parser::AST::CallExpr + { + public: + + enum struct LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + }; + + UserDefinedLiteral(::CppSharp::CppParser::AST::UserDefinedLiteral* native); + static UserDefinedLiteral^ __CreateInstance(::System::IntPtr native); + UserDefinedLiteral(); + + UserDefinedLiteral(CppSharp::Parser::AST::UserDefinedLiteral^ _0); + + ~UserDefinedLiteral(); + + property CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind literalOperatorKind + { + CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind get(); + void set(CppSharp::Parser::AST::UserDefinedLiteral::LiteralOperatorKind); + } + + property CppSharp::Parser::SourceLocation UDSuffixLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXBoolLiteralExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXBoolLiteralExpr(::CppSharp::CppParser::AST::CXXBoolLiteralExpr* native); + static CXXBoolLiteralExpr^ __CreateInstance(::System::IntPtr native); + CXXBoolLiteralExpr(); + + CXXBoolLiteralExpr(CppSharp::Parser::AST::CXXBoolLiteralExpr^ _0); + + ~CXXBoolLiteralExpr(); + + property bool Value + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXNullPtrLiteralExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXNullPtrLiteralExpr(::CppSharp::CppParser::AST::CXXNullPtrLiteralExpr* native); + static CXXNullPtrLiteralExpr^ __CreateInstance(::System::IntPtr native); + CXXNullPtrLiteralExpr(); + + CXXNullPtrLiteralExpr(CppSharp::Parser::AST::CXXNullPtrLiteralExpr^ _0); + + ~CXXNullPtrLiteralExpr(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXStdInitializerListExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXStdInitializerListExpr(::CppSharp::CppParser::AST::CXXStdInitializerListExpr* native); + static CXXStdInitializerListExpr^ __CreateInstance(::System::IntPtr native); + CXXStdInitializerListExpr(); + + CXXStdInitializerListExpr(CppSharp::Parser::AST::CXXStdInitializerListExpr^ _0); + + ~CXXStdInitializerListExpr(); + }; + + public ref class CXXTypeidExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXTypeidExpr(::CppSharp::CppParser::AST::CXXTypeidExpr* native); + static CXXTypeidExpr^ __CreateInstance(::System::IntPtr native); + CXXTypeidExpr(); + + CXXTypeidExpr(CppSharp::Parser::AST::CXXTypeidExpr^ _0); + + ~CXXTypeidExpr(); + + property CppSharp::Parser::AST::Expr^ ExprOperand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool IsPotentiallyEvaluated + { + bool get(); + void set(bool); + } + + property bool IsTypeOperand + { + bool get(); + void set(bool); + } + }; + + public ref class MSPropertyRefExpr : CppSharp::Parser::AST::Expr + { + public: + + MSPropertyRefExpr(::CppSharp::CppParser::AST::MSPropertyRefExpr* native); + static MSPropertyRefExpr^ __CreateInstance(::System::IntPtr native); + MSPropertyRefExpr(); + + MSPropertyRefExpr(CppSharp::Parser::AST::MSPropertyRefExpr^ _0); + + ~MSPropertyRefExpr(); + + property bool IsImplicitAccess + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ BaseExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool IsArrow + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation MemberLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class MSPropertySubscriptExpr : CppSharp::Parser::AST::Expr + { + public: + + MSPropertySubscriptExpr(::CppSharp::CppParser::AST::MSPropertySubscriptExpr* native); + static MSPropertySubscriptExpr^ __CreateInstance(::System::IntPtr native); + MSPropertySubscriptExpr(); + + MSPropertySubscriptExpr(CppSharp::Parser::AST::MSPropertySubscriptExpr^ _0); + + ~MSPropertySubscriptExpr(); + + property CppSharp::Parser::SourceLocation RBracketLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXUuidofExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXUuidofExpr(::CppSharp::CppParser::AST::CXXUuidofExpr* native); + static CXXUuidofExpr^ __CreateInstance(::System::IntPtr native); + CXXUuidofExpr(); + + CXXUuidofExpr(CppSharp::Parser::AST::CXXUuidofExpr^ _0); + + ~CXXUuidofExpr(); + + property CppSharp::Parser::AST::Expr^ ExprOperand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property System::String^ UuidStr + { + System::String^ get(); + void set(System::String^); + } + + property bool IsTypeOperand + { + bool get(); + void set(bool); + } + }; + + public ref class CXXThisExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXThisExpr(::CppSharp::CppParser::AST::CXXThisExpr* native); + static CXXThisExpr^ __CreateInstance(::System::IntPtr native); + CXXThisExpr(); + + CXXThisExpr(CppSharp::Parser::AST::CXXThisExpr^ _0); + + ~CXXThisExpr(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool Implicit + { + bool get(); + void set(bool); + } + }; + + public ref class CXXThrowExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXThrowExpr(::CppSharp::CppParser::AST::CXXThrowExpr* native); + static CXXThrowExpr^ __CreateInstance(::System::IntPtr native); + CXXThrowExpr(); + + CXXThrowExpr(CppSharp::Parser::AST::CXXThrowExpr^ _0); + + ~CXXThrowExpr(); + + property CppSharp::Parser::SourceLocation ThrowLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsThrownVariableInScope + { + bool get(); + void set(bool); + } + }; + + public ref class CXXDefaultArgExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXDefaultArgExpr(::CppSharp::CppParser::AST::CXXDefaultArgExpr* native); + static CXXDefaultArgExpr^ __CreateInstance(::System::IntPtr native); + CXXDefaultArgExpr(); + + CXXDefaultArgExpr(CppSharp::Parser::AST::CXXDefaultArgExpr^ _0); + + ~CXXDefaultArgExpr(); + + property CppSharp::Parser::SourceLocation UsedLocation + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXDefaultInitExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXDefaultInitExpr(::CppSharp::CppParser::AST::CXXDefaultInitExpr* native); + static CXXDefaultInitExpr^ __CreateInstance(::System::IntPtr native); + CXXDefaultInitExpr(); + + CXXDefaultInitExpr(CppSharp::Parser::AST::CXXDefaultInitExpr^ _0); + + ~CXXDefaultInitExpr(); + }; + + public ref class CXXBindTemporaryExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXBindTemporaryExpr(::CppSharp::CppParser::AST::CXXBindTemporaryExpr* native); + static CXXBindTemporaryExpr^ __CreateInstance(::System::IntPtr native); + CXXBindTemporaryExpr(); + + CXXBindTemporaryExpr(CppSharp::Parser::AST::CXXBindTemporaryExpr^ _0); + + ~CXXBindTemporaryExpr(); + + property CppSharp::Parser::AST::Expr^ SubExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class CXXConstructExpr : CppSharp::Parser::AST::Expr + { + public: + + enum struct ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + }; + + CXXConstructExpr(::CppSharp::CppParser::AST::CXXConstructExpr* native); + static CXXConstructExpr^ __CreateInstance(::System::IntPtr native); + CXXConstructExpr(); + + CXXConstructExpr(CppSharp::Parser::AST::StmtClass klass); + + CXXConstructExpr(CppSharp::Parser::AST::CXXConstructExpr^ _0); + + ~CXXConstructExpr(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool Elidable + { + bool get(); + void set(bool); + } + + property bool HadMultipleCandidates + { + bool get(); + void set(bool); + } + + property bool ListInitialization + { + bool get(); + void set(bool); + } + + property bool StdInitListInitialization + { + bool get(); + void set(bool); + } + + property bool RequiresZeroInitialization + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceRange^ ParenOrBraceRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + property unsigned int NumArgs + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int GetargumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ Getarguments(unsigned int i); + + void Addarguments(CppSharp::Parser::AST::Expr^ s); + + void Cleararguments(); + + static operator CppSharp::Parser::AST::CXXConstructExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CXXInheritedCtorInitExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXInheritedCtorInitExpr(::CppSharp::CppParser::AST::CXXInheritedCtorInitExpr* native); + static CXXInheritedCtorInitExpr^ __CreateInstance(::System::IntPtr native); + CXXInheritedCtorInitExpr(); + + CXXInheritedCtorInitExpr(CppSharp::Parser::AST::CXXInheritedCtorInitExpr^ _0); + + ~CXXInheritedCtorInitExpr(); + + property bool ConstructsVBase + { + bool get(); + void set(bool); + } + + property bool InheritedFromVBase + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXFunctionalCastExpr : CppSharp::Parser::AST::ExplicitCastExpr + { + public: + + CXXFunctionalCastExpr(::CppSharp::CppParser::AST::CXXFunctionalCastExpr* native); + static CXXFunctionalCastExpr^ __CreateInstance(::System::IntPtr native); + CXXFunctionalCastExpr(); + + CXXFunctionalCastExpr(CppSharp::Parser::AST::CXXFunctionalCastExpr^ _0); + + ~CXXFunctionalCastExpr(); + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsListInitialization + { + bool get(); + void set(bool); + } + }; + + public ref class CXXTemporaryObjectExpr : CppSharp::Parser::AST::CXXConstructExpr + { + public: + + CXXTemporaryObjectExpr(::CppSharp::CppParser::AST::CXXTemporaryObjectExpr* native); + static CXXTemporaryObjectExpr^ __CreateInstance(::System::IntPtr native); + CXXTemporaryObjectExpr(); + + CXXTemporaryObjectExpr(CppSharp::Parser::AST::CXXTemporaryObjectExpr^ _0); + + ~CXXTemporaryObjectExpr(); + }; + + public ref class LambdaExpr : CppSharp::Parser::AST::Expr + { + public: + + LambdaExpr(::CppSharp::CppParser::AST::LambdaExpr* native); + static LambdaExpr^ __CreateInstance(::System::IntPtr native); + LambdaExpr(); + + LambdaExpr(CppSharp::Parser::AST::LambdaExpr^ _0); + + ~LambdaExpr(); + + property System::Collections::Generic::List^ CaptureInits + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::SourceLocation CaptureDefaultLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int CaptureSize + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceRange^ IntroducerRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + property CppSharp::Parser::AST::Method^ CallOperator + { + CppSharp::Parser::AST::Method^ get(); + void set(CppSharp::Parser::AST::Method^); + } + + property bool IsGenericLambda + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::CompoundStmt^ Body + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + + property bool IsMutable + { + bool get(); + void set(bool); + } + + property bool HasExplicitParameters + { + bool get(); + void set(bool); + } + + property bool HasExplicitResultType + { + bool get(); + void set(bool); + } + + property unsigned int GetcaptureInitsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ GetcaptureInits(unsigned int i); + + void AddcaptureInits(CppSharp::Parser::AST::Expr^ s); + + void ClearcaptureInits(); + }; + + public ref class CXXScalarValueInitExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXScalarValueInitExpr(::CppSharp::CppParser::AST::CXXScalarValueInitExpr* native); + static CXXScalarValueInitExpr^ __CreateInstance(::System::IntPtr native); + CXXScalarValueInitExpr(); + + CXXScalarValueInitExpr(CppSharp::Parser::AST::CXXScalarValueInitExpr^ _0); + + ~CXXScalarValueInitExpr(); + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXNewExpr : CppSharp::Parser::AST::Expr + { + public: + + enum struct InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + }; + + CXXNewExpr(::CppSharp::CppParser::AST::CXXNewExpr* native); + static CXXNewExpr^ __CreateInstance(::System::IntPtr native); + CXXNewExpr(); + + CXXNewExpr(CppSharp::Parser::AST::CXXNewExpr^ _0); + + ~CXXNewExpr(); + + property System::Collections::Generic::List^ PlacementArguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::Function^ OperatorNew + { + CppSharp::Parser::AST::Function^ get(); + void set(CppSharp::Parser::AST::Function^); + } + + property CppSharp::Parser::AST::Function^ OperatorDelete + { + CppSharp::Parser::AST::Function^ get(); + void set(CppSharp::Parser::AST::Function^); + } + + property CppSharp::Parser::AST::QualifiedType^ AllocatedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool IsArray + { + bool get(); + void set(bool); + } + + property unsigned int NumPlacementArgs + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsParenTypeId + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceRange^ TypeIdParens + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + property bool IsGlobalNew + { + bool get(); + void set(bool); + } + + property bool HasInitializer + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::CXXNewExpr::InitializationStyle initializationStyle + { + CppSharp::Parser::AST::CXXNewExpr::InitializationStyle get(); + void set(CppSharp::Parser::AST::CXXNewExpr::InitializationStyle); + } + + property CppSharp::Parser::AST::CXXConstructExpr^ ConstructExpr + { + CppSharp::Parser::AST::CXXConstructExpr^ get(); + void set(CppSharp::Parser::AST::CXXConstructExpr^); + } + + property CppSharp::Parser::SourceRange^ DirectInitRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + property unsigned int GetplacementArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ GetplacementArguments(unsigned int i); + + void AddplacementArguments(CppSharp::Parser::AST::Expr^ s); + + void ClearplacementArguments(); + }; + + public ref class CXXDeleteExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXDeleteExpr(::CppSharp::CppParser::AST::CXXDeleteExpr* native); + static CXXDeleteExpr^ __CreateInstance(::System::IntPtr native); + CXXDeleteExpr(); + + CXXDeleteExpr(CppSharp::Parser::AST::CXXDeleteExpr^ _0); + + ~CXXDeleteExpr(); + + property bool IsGlobalDelete + { + bool get(); + void set(bool); + } + + property bool IsArrayForm + { + bool get(); + void set(bool); + } + + property bool IsArrayFormAsWritten + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Function^ OperatorDelete + { + CppSharp::Parser::AST::Function^ get(); + void set(CppSharp::Parser::AST::Function^); + } + + property CppSharp::Parser::AST::QualifiedType^ DestroyedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class CXXPseudoDestructorExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXPseudoDestructorExpr(::CppSharp::CppParser::AST::CXXPseudoDestructorExpr* native); + static CXXPseudoDestructorExpr^ __CreateInstance(::System::IntPtr native); + CXXPseudoDestructorExpr(); + + CXXPseudoDestructorExpr(CppSharp::Parser::AST::CXXPseudoDestructorExpr^ _0); + + ~CXXPseudoDestructorExpr(); + + property CppSharp::Parser::AST::Expr^ Base + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool HasQualifier + { + bool get(); + void set(bool); + } + + property bool IsArrow + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation ColonColonLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation TildeLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::QualifiedType^ DestroyedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::SourceLocation DestroyedTypeLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class TypeTraitExpr : CppSharp::Parser::AST::Expr + { + public: + + TypeTraitExpr(::CppSharp::CppParser::AST::TypeTraitExpr* native); + static TypeTraitExpr^ __CreateInstance(::System::IntPtr native); + TypeTraitExpr(); + + TypeTraitExpr(CppSharp::Parser::AST::TypeTraitExpr^ _0); + + ~TypeTraitExpr(); + + property bool Value + { + bool get(); + void set(bool); + } + + property unsigned int NumArgs + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class ArrayTypeTraitExpr : CppSharp::Parser::AST::Expr + { + public: + + ArrayTypeTraitExpr(::CppSharp::CppParser::AST::ArrayTypeTraitExpr* native); + static ArrayTypeTraitExpr^ __CreateInstance(::System::IntPtr native); + ArrayTypeTraitExpr(); + + ArrayTypeTraitExpr(CppSharp::Parser::AST::ArrayTypeTraitExpr^ _0); + + ~ArrayTypeTraitExpr(); + + property CppSharp::Parser::AST::QualifiedType^ QueriedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property unsigned long long Value + { + unsigned long long get(); + void set(unsigned long long); + } + + property CppSharp::Parser::AST::Expr^ DimensionExpression + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class ExpressionTraitExpr : CppSharp::Parser::AST::Expr + { + public: + + ExpressionTraitExpr(::CppSharp::CppParser::AST::ExpressionTraitExpr* native); + static ExpressionTraitExpr^ __CreateInstance(::System::IntPtr native); + ExpressionTraitExpr(); + + ExpressionTraitExpr(CppSharp::Parser::AST::ExpressionTraitExpr^ _0); + + ~ExpressionTraitExpr(); + + property CppSharp::Parser::AST::Expr^ QueriedExpression + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool Value + { + bool get(); + void set(bool); + } + }; + + public ref class OverloadExpr : CppSharp::Parser::AST::Expr + { + public: + + ref class FindResult : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::OverloadExpr::FindResult* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + FindResult(::CppSharp::CppParser::AST::OverloadExpr::FindResult* native); + static FindResult^ __CreateInstance(::System::IntPtr native); + FindResult(); + + FindResult(CppSharp::Parser::AST::OverloadExpr::FindResult^ _0); + + ~FindResult(); + + protected: + bool __ownsNativeInstance; + }; + + OverloadExpr(::CppSharp::CppParser::AST::OverloadExpr* native); + static OverloadExpr^ __CreateInstance(::System::IntPtr native); + OverloadExpr(); + + OverloadExpr(CppSharp::Parser::AST::StmtClass klass); + + OverloadExpr(CppSharp::Parser::AST::OverloadExpr^ _0); + + ~OverloadExpr(); + + property unsigned int NumDecls + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceLocation NameLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation TemplateKeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasTemplateKeyword + { + bool get(); + void set(bool); + } + + property bool HasExplicitTemplateArgs + { + bool get(); + void set(bool); + } + + property unsigned int NumTemplateArgs + { + unsigned int get(); + void set(unsigned int); + } + + static operator CppSharp::Parser::AST::OverloadExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class UnresolvedLookupExpr : CppSharp::Parser::AST::OverloadExpr + { + public: + + UnresolvedLookupExpr(::CppSharp::CppParser::AST::UnresolvedLookupExpr* native); + static UnresolvedLookupExpr^ __CreateInstance(::System::IntPtr native); + UnresolvedLookupExpr(); + + UnresolvedLookupExpr(CppSharp::Parser::AST::UnresolvedLookupExpr^ _0); + + ~UnresolvedLookupExpr(); + + property bool RequiresADL + { + bool get(); + void set(bool); + } + + property bool IsOverloaded + { + bool get(); + void set(bool); + } + }; + + public ref class DependentScopeDeclRefExpr : CppSharp::Parser::AST::Expr + { + public: + + DependentScopeDeclRefExpr(::CppSharp::CppParser::AST::DependentScopeDeclRefExpr* native); + static DependentScopeDeclRefExpr^ __CreateInstance(::System::IntPtr native); + DependentScopeDeclRefExpr(); + + DependentScopeDeclRefExpr(CppSharp::Parser::AST::DependentScopeDeclRefExpr^ _0); + + ~DependentScopeDeclRefExpr(); + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation TemplateKeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasTemplateKeyword + { + bool get(); + void set(bool); + } + + property bool HasExplicitTemplateArgs + { + bool get(); + void set(bool); + } + + property unsigned int NumTemplateArgs + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class ExprWithCleanups : CppSharp::Parser::AST::FullExpr + { + public: + + ExprWithCleanups(::CppSharp::CppParser::AST::ExprWithCleanups* native); + static ExprWithCleanups^ __CreateInstance(::System::IntPtr native); + ExprWithCleanups(); + + ExprWithCleanups(CppSharp::Parser::AST::ExprWithCleanups^ _0); + + ~ExprWithCleanups(); + + property unsigned int NumObjects + { + unsigned int get(); + void set(unsigned int); + } + + property bool CleanupsHaveSideEffects + { + bool get(); + void set(bool); + } + }; + + public ref class CXXUnresolvedConstructExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXUnresolvedConstructExpr(::CppSharp::CppParser::AST::CXXUnresolvedConstructExpr* native); + static CXXUnresolvedConstructExpr^ __CreateInstance(::System::IntPtr native); + CXXUnresolvedConstructExpr(); + + CXXUnresolvedConstructExpr(CppSharp::Parser::AST::CXXUnresolvedConstructExpr^ _0); + + ~CXXUnresolvedConstructExpr(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::QualifiedType^ TypeAsWritten + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool IsListInitialization + { + bool get(); + void set(bool); + } + + property unsigned int ArgSize + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int GetargumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ Getarguments(unsigned int i); + + void Addarguments(CppSharp::Parser::AST::Expr^ s); + + void Cleararguments(); + }; + + public ref class CXXDependentScopeMemberExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXDependentScopeMemberExpr(::CppSharp::CppParser::AST::CXXDependentScopeMemberExpr* native); + static CXXDependentScopeMemberExpr^ __CreateInstance(::System::IntPtr native); + CXXDependentScopeMemberExpr(); + + CXXDependentScopeMemberExpr(CppSharp::Parser::AST::CXXDependentScopeMemberExpr^ _0); + + ~CXXDependentScopeMemberExpr(); + + property bool IsImplicitAccess + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ Base + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::QualifiedType^ BaseType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool IsArrow + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Declaration^ FirstQualifierFoundInScope + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property CppSharp::Parser::SourceLocation MemberLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation TemplateKeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RAngleLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasTemplateKeyword + { + bool get(); + void set(bool); + } + + property bool HasExplicitTemplateArgs + { + bool get(); + void set(bool); + } + + property unsigned int NumTemplateArgs + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class UnresolvedMemberExpr : CppSharp::Parser::AST::OverloadExpr + { + public: + + UnresolvedMemberExpr(::CppSharp::CppParser::AST::UnresolvedMemberExpr* native); + static UnresolvedMemberExpr^ __CreateInstance(::System::IntPtr native); + UnresolvedMemberExpr(); + + UnresolvedMemberExpr(CppSharp::Parser::AST::UnresolvedMemberExpr^ _0); + + ~UnresolvedMemberExpr(); + + property bool IsImplicitAccess + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::QualifiedType^ BaseType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool HasUnresolvedUsing + { + bool get(); + void set(bool); + } + + property bool IsArrow + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation MemberLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CXXNoexceptExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXNoexceptExpr(::CppSharp::CppParser::AST::CXXNoexceptExpr* native); + static CXXNoexceptExpr^ __CreateInstance(::System::IntPtr native); + CXXNoexceptExpr(); + + CXXNoexceptExpr(CppSharp::Parser::AST::CXXNoexceptExpr^ _0); + + ~CXXNoexceptExpr(); + + property CppSharp::Parser::AST::Expr^ Operand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool Value + { + bool get(); + void set(bool); + } + }; + + public ref class PackExpansionExpr : CppSharp::Parser::AST::Expr + { + public: + + PackExpansionExpr(::CppSharp::CppParser::AST::PackExpansionExpr* native); + static PackExpansionExpr^ __CreateInstance(::System::IntPtr native); + PackExpansionExpr(); + + PackExpansionExpr(CppSharp::Parser::AST::PackExpansionExpr^ _0); + + ~PackExpansionExpr(); + + property CppSharp::Parser::SourceLocation EllipsisLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class SizeOfPackExpr : CppSharp::Parser::AST::Expr + { + public: + + SizeOfPackExpr(::CppSharp::CppParser::AST::SizeOfPackExpr* native); + static SizeOfPackExpr^ __CreateInstance(::System::IntPtr native); + SizeOfPackExpr(); + + SizeOfPackExpr(CppSharp::Parser::AST::SizeOfPackExpr^ _0); + + ~SizeOfPackExpr(); + + property CppSharp::Parser::SourceLocation OperatorLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation PackLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Declaration^ Pack + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property unsigned int PackLength + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsPartiallySubstituted + { + bool get(); + void set(bool); + } + }; + + public ref class SubstNonTypeTemplateParmExpr : CppSharp::Parser::AST::Expr + { + public: + + SubstNonTypeTemplateParmExpr(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr* native); + static SubstNonTypeTemplateParmExpr^ __CreateInstance(::System::IntPtr native); + SubstNonTypeTemplateParmExpr(); + + SubstNonTypeTemplateParmExpr(CppSharp::Parser::AST::SubstNonTypeTemplateParmExpr^ _0); + + ~SubstNonTypeTemplateParmExpr(); + + property CppSharp::Parser::SourceLocation NameLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ Replacement + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class SubstNonTypeTemplateParmPackExpr : CppSharp::Parser::AST::Expr + { + public: + + SubstNonTypeTemplateParmPackExpr(::CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr* native); + static SubstNonTypeTemplateParmPackExpr^ __CreateInstance(::System::IntPtr native); + SubstNonTypeTemplateParmPackExpr(); + + SubstNonTypeTemplateParmPackExpr(CppSharp::Parser::AST::SubstNonTypeTemplateParmPackExpr^ _0); + + ~SubstNonTypeTemplateParmPackExpr(); + + property CppSharp::Parser::SourceLocation ParameterPackLocation + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::TemplateArgument^ ArgumentPack + { + CppSharp::Parser::AST::TemplateArgument^ get(); + void set(CppSharp::Parser::AST::TemplateArgument^); + } + }; + + public ref class FunctionParmPackExpr : CppSharp::Parser::AST::Expr + { + public: + + FunctionParmPackExpr(::CppSharp::CppParser::AST::FunctionParmPackExpr* native); + static FunctionParmPackExpr^ __CreateInstance(::System::IntPtr native); + FunctionParmPackExpr(); + + FunctionParmPackExpr(CppSharp::Parser::AST::FunctionParmPackExpr^ _0); + + ~FunctionParmPackExpr(); + + property CppSharp::Parser::SourceLocation ParameterPackLocation + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumExpansions + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class MaterializeTemporaryExpr : CppSharp::Parser::AST::Expr + { + public: + + ref class ExtraState : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ExtraState(::CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState* native); + static ExtraState^ __CreateInstance(::System::IntPtr native); + ExtraState(); + + ExtraState(CppSharp::Parser::AST::MaterializeTemporaryExpr::ExtraState^ _0); + + ~ExtraState(); + + protected: + bool __ownsNativeInstance; + }; + + MaterializeTemporaryExpr(::CppSharp::CppParser::AST::MaterializeTemporaryExpr* native); + static MaterializeTemporaryExpr^ __CreateInstance(::System::IntPtr native); + MaterializeTemporaryExpr(); + + MaterializeTemporaryExpr(CppSharp::Parser::AST::MaterializeTemporaryExpr^ _0); + + ~MaterializeTemporaryExpr(); + + property CppSharp::Parser::AST::Stmt^ Temporary + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Expr^ TemporaryExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property unsigned int ManglingNumber + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsBoundToLvalueReference + { + bool get(); + void set(bool); + } + }; + + public ref class CXXFoldExpr : CppSharp::Parser::AST::Expr + { + public: + + CXXFoldExpr(::CppSharp::CppParser::AST::CXXFoldExpr* native); + static CXXFoldExpr^ __CreateInstance(::System::IntPtr native); + CXXFoldExpr(); + + CXXFoldExpr(CppSharp::Parser::AST::CXXFoldExpr^ _0); + + ~CXXFoldExpr(); + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property bool IsRightFold + { + bool get(); + void set(bool); + } + + property bool IsLeftFold + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ Pattern + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Init + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation EllipsisLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::BinaryOperatorKind Operator + { + CppSharp::Parser::AST::BinaryOperatorKind get(); + void set(CppSharp::Parser::AST::BinaryOperatorKind); + } + }; + + public ref class CoroutineSuspendExpr : CppSharp::Parser::AST::Expr + { + public: + + enum struct SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + }; + + CoroutineSuspendExpr(::CppSharp::CppParser::AST::CoroutineSuspendExpr* native); + static CoroutineSuspendExpr^ __CreateInstance(::System::IntPtr native); + CoroutineSuspendExpr(); + + CoroutineSuspendExpr(CppSharp::Parser::AST::StmtClass klass); + + CoroutineSuspendExpr(CppSharp::Parser::AST::CoroutineSuspendExpr^ _0); + + ~CoroutineSuspendExpr(); + + property CppSharp::Parser::SourceLocation KeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ CommonExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::OpaqueValueExpr^ OpaqueValue + { + CppSharp::Parser::AST::OpaqueValueExpr^ get(); + void set(CppSharp::Parser::AST::OpaqueValueExpr^); + } + + property CppSharp::Parser::AST::Expr^ ReadyExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ SuspendExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ ResumeExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + static operator CppSharp::Parser::AST::CoroutineSuspendExpr^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CoawaitExpr : CppSharp::Parser::AST::CoroutineSuspendExpr + { + public: + + CoawaitExpr(::CppSharp::CppParser::AST::CoawaitExpr* native); + static CoawaitExpr^ __CreateInstance(::System::IntPtr native); + CoawaitExpr(); + + CoawaitExpr(CppSharp::Parser::AST::CoawaitExpr^ _0); + + ~CoawaitExpr(); + + property bool IsImplicit + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Expr^ Operand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class DependentCoawaitExpr : CppSharp::Parser::AST::Expr + { + public: + + DependentCoawaitExpr(::CppSharp::CppParser::AST::DependentCoawaitExpr* native); + static DependentCoawaitExpr^ __CreateInstance(::System::IntPtr native); + DependentCoawaitExpr(); + + DependentCoawaitExpr(CppSharp::Parser::AST::DependentCoawaitExpr^ _0); + + ~DependentCoawaitExpr(); + + property CppSharp::Parser::AST::Expr^ Operand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::UnresolvedLookupExpr^ OperatorCoawaitLookup + { + CppSharp::Parser::AST::UnresolvedLookupExpr^ get(); + void set(CppSharp::Parser::AST::UnresolvedLookupExpr^); + } + + property CppSharp::Parser::SourceLocation KeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CoyieldExpr : CppSharp::Parser::AST::CoroutineSuspendExpr + { + public: + + CoyieldExpr(::CppSharp::CppParser::AST::CoyieldExpr* native); + static CoyieldExpr^ __CreateInstance(::System::IntPtr native); + CoyieldExpr(); + + CoyieldExpr(CppSharp::Parser::AST::CoyieldExpr^ _0); + + ~CoyieldExpr(); + + property CppSharp::Parser::AST::Expr^ Operand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + } + } +} diff --git a/src/CppParser/Bindings/CLI/Sources.cpp b/src/CppParser/Bindings/CLI/Sources.cpp index c1875985..cf641c3f 100644 --- a/src/CppParser/Bindings/CLI/Sources.cpp +++ b/src/CppParser/Bindings/CLI/Sources.cpp @@ -57,12 +57,6 @@ CppSharp::Parser::SourceRange::~SourceRange() delete NativePtr; } -CppSharp::Parser::SourceRange::SourceRange() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::SourceRange(); -} - CppSharp::Parser::SourceRange::SourceRange(CppSharp::Parser::SourceRange^ _0) { __ownsNativeInstance = true; @@ -72,6 +66,12 @@ CppSharp::Parser::SourceRange::SourceRange(CppSharp::Parser::SourceRange^ _0) NativePtr = new ::CppSharp::CppParser::SourceRange(__arg0); } +CppSharp::Parser::SourceRange::SourceRange() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::SourceRange(); +} + System::IntPtr CppSharp::Parser::SourceRange::__Instance::get() { return System::IntPtr(NativePtr); diff --git a/src/CppParser/Bindings/CLI/Sources.h b/src/CppParser/Bindings/CLI/Sources.h index 8d646534..e400079c 100644 --- a/src/CppParser/Bindings/CLI/Sources.h +++ b/src/CppParser/Bindings/CLI/Sources.h @@ -55,10 +55,10 @@ namespace CppSharp SourceRange(::CppSharp::CppParser::SourceRange* native); static SourceRange^ __CreateInstance(::System::IntPtr native); - SourceRange(); - SourceRange(CppSharp::Parser::SourceRange^ _0); + SourceRange(); + ~SourceRange(); property CppSharp::Parser::SourceLocation BeginLoc diff --git a/src/CppParser/Bindings/CLI/Stmt.cpp b/src/CppParser/Bindings/CLI/Stmt.cpp new file mode 100644 index 00000000..d82b8241 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Stmt.cpp @@ -0,0 +1,2972 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#include "Stmt.h" +#include "Decl.h" +#include "Expr.h" +#include "Sources.h" +#include "Types.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::AST::Stmt::Stmt(::CppSharp::CppParser::AST::Stmt* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::Stmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::Stmt::~Stmt() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::Stmt::Stmt() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Stmt(); +} + +CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::StmtClass klass) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::Stmt(__arg0); +} + +CppSharp::Parser::AST::Stmt::Stmt(CppSharp::Parser::AST::Stmt^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Stmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Stmt(__arg0); +} + +CppSharp::Parser::AST::Stmt::operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::Stmt) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::Stmt(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)____ret); +} + +System::IntPtr CppSharp::Parser::AST::Stmt::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::Stmt::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::Stmt*)object.ToPointer(); +} + +CppSharp::Parser::AST::StmtClass CppSharp::Parser::AST::Stmt::StmtClass::get() +{ + return (CppSharp::Parser::AST::StmtClass)((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass; +} + +void CppSharp::Parser::AST::Stmt::StmtClass::set(CppSharp::Parser::AST::StmtClass value) +{ + ((::CppSharp::CppParser::AST::Stmt*)NativePtr)->stmtClass = (::CppSharp::CppParser::AST::StmtClass)value; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::AST::Stmt::SourceRange::get() +{ + return (&((::CppSharp::CppParser::AST::Stmt*)NativePtr)->sourceRange == nullptr) ? nullptr : gcnew CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*)&((::CppSharp::CppParser::AST::Stmt*)NativePtr)->sourceRange); +} + +void CppSharp::Parser::AST::Stmt::SourceRange::set(CppSharp::Parser::SourceRange^ value) +{ + ((::CppSharp::CppParser::AST::Stmt*)NativePtr)->sourceRange = *(::CppSharp::CppParser::SourceRange*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Stmt::EndLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Stmt*)NativePtr)->endLoc); +} + +void CppSharp::Parser::AST::Stmt::EndLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::Stmt*)NativePtr)->endLoc = _marshal0; +} + +CppSharp::Parser::AST::DeclStmt::DeclStmt(::CppSharp::CppParser::AST::DeclStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::DeclStmt^ CppSharp::Parser::AST::DeclStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DeclStmt((::CppSharp::CppParser::AST::DeclStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::DeclStmt::~DeclStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::DeclStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::DeclStmt::DeclStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DeclStmt(); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::DeclStmt::Getdecls(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->getdecls(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)__ret); +} + +void CppSharp::Parser::AST::DeclStmt::Adddecls(CppSharp::Parser::AST::Declaration^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Declaration*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->adddecls(__arg0); +} + +void CppSharp::Parser::AST::DeclStmt::Cleardecls() +{ + ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->cleardecls(); +} + +CppSharp::Parser::AST::DeclStmt::DeclStmt(CppSharp::Parser::AST::DeclStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DeclStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DeclStmt(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclStmt::Decls::get() +{ + auto _tmp__decls = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->decls) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)_element); + _tmp__decls->Add(_marshalElement); + } + return _tmp__decls; +} + +void CppSharp::Parser::AST::DeclStmt::Decls::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>(); + for each(CppSharp::Parser::AST::Declaration^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Declaration*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->decls = _tmpvalue; +} + +bool CppSharp::Parser::AST::DeclStmt::IsSingleDecl::get() +{ + return ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->isSingleDecl; +} + +void CppSharp::Parser::AST::DeclStmt::IsSingleDecl::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->isSingleDecl = value; +} + +unsigned int CppSharp::Parser::AST::DeclStmt::GetdeclsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclStmt*)NativePtr)->getdeclsCount(); + return __ret; +} + +CppSharp::Parser::AST::NullStmt::NullStmt(::CppSharp::CppParser::AST::NullStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::NullStmt^ CppSharp::Parser::AST::NullStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::NullStmt((::CppSharp::CppParser::AST::NullStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::NullStmt::~NullStmt() +{ +} + +CppSharp::Parser::AST::NullStmt::NullStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::NullStmt(); +} + +CppSharp::Parser::AST::NullStmt::NullStmt(CppSharp::Parser::AST::NullStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::NullStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::NullStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::NullStmt::SemiLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::NullStmt*)NativePtr)->semiLoc); +} + +void CppSharp::Parser::AST::NullStmt::SemiLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::NullStmt*)NativePtr)->semiLoc = _marshal0; +} + +bool CppSharp::Parser::AST::NullStmt::HasLeadingEmptyMacro::get() +{ + return ((::CppSharp::CppParser::AST::NullStmt*)NativePtr)->hasLeadingEmptyMacro; +} + +void CppSharp::Parser::AST::NullStmt::HasLeadingEmptyMacro::set(bool value) +{ + ((::CppSharp::CppParser::AST::NullStmt*)NativePtr)->hasLeadingEmptyMacro = value; +} + +CppSharp::Parser::AST::CompoundStmt::CompoundStmt(::CppSharp::CppParser::AST::CompoundStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::CompoundStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CompoundStmt::~CompoundStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CompoundStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::CompoundStmt::CompoundStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CompoundStmt(); +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CompoundStmt::Getbody(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->getbody(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)__ret); +} + +void CppSharp::Parser::AST::CompoundStmt::Addbody(CppSharp::Parser::AST::Stmt^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Stmt*)s->NativePtr; + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->addbody(__arg0); +} + +void CppSharp::Parser::AST::CompoundStmt::Clearbody() +{ + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->clearbody(); +} + +CppSharp::Parser::AST::CompoundStmt::CompoundStmt(CppSharp::Parser::AST::CompoundStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CompoundStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CompoundStmt(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CompoundStmt::Body::get() +{ + auto _tmp__body = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->body) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)_element); + _tmp__body->Add(_marshalElement); + } + return _tmp__body; +} + +void CppSharp::Parser::AST::CompoundStmt::Body::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Stmt*>(); + for each(CppSharp::Parser::AST::Stmt^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Stmt*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->body = _tmpvalue; +} + +bool CppSharp::Parser::AST::CompoundStmt::BodyEmpty::get() +{ + return ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->body_empty; +} + +void CppSharp::Parser::AST::CompoundStmt::BodyEmpty::set(bool value) +{ + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->body_empty = value; +} + +unsigned int CppSharp::Parser::AST::CompoundStmt::Size::get() +{ + return ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->size; +} + +void CppSharp::Parser::AST::CompoundStmt::Size::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->size = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CompoundStmt::LBracLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->lBracLoc); +} + +void CppSharp::Parser::AST::CompoundStmt::LBracLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->lBracLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CompoundStmt::RBracLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->rBracLoc); +} + +void CppSharp::Parser::AST::CompoundStmt::RBracLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->rBracLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::CompoundStmt::GetbodyCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CompoundStmt*)NativePtr)->getbodyCount(); + return __ret; +} + +CppSharp::Parser::AST::SwitchCase::SwitchCase(::CppSharp::CppParser::AST::SwitchCase* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SwitchCase^ CppSharp::Parser::AST::SwitchCase::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*) native.ToPointer()); +} + +CppSharp::Parser::AST::SwitchCase::~SwitchCase() +{ +} + +CppSharp::Parser::AST::SwitchCase::SwitchCase() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SwitchCase(); +} + +CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::SwitchCase(__arg0); +} + +CppSharp::Parser::AST::SwitchCase::SwitchCase(CppSharp::Parser::AST::SwitchCase^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SwitchCase*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SwitchCase(__arg0); +} + +CppSharp::Parser::AST::SwitchCase::operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::SwitchCase) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::SwitchCase(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)____ret); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SwitchCase::KeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SwitchCase*)NativePtr)->keywordLoc); +} + +void CppSharp::Parser::AST::SwitchCase::KeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SwitchCase*)NativePtr)->keywordLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SwitchCase::ColonLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SwitchCase*)NativePtr)->colonLoc); +} + +void CppSharp::Parser::AST::SwitchCase::ColonLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SwitchCase*)NativePtr)->colonLoc = _marshal0; +} + +CppSharp::Parser::AST::CaseStmt::CaseStmt(::CppSharp::CppParser::AST::CaseStmt* native) + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)native) +{ +} + +CppSharp::Parser::AST::CaseStmt^ CppSharp::Parser::AST::CaseStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CaseStmt((::CppSharp::CppParser::AST::CaseStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CaseStmt::~CaseStmt() +{ +} + +CppSharp::Parser::AST::CaseStmt::CaseStmt() + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CaseStmt(); +} + +CppSharp::Parser::AST::CaseStmt::CaseStmt(CppSharp::Parser::AST::CaseStmt^ _0) + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CaseStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CaseStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CaseStmt::CaseLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->caseLoc); +} + +void CppSharp::Parser::AST::CaseStmt::CaseLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->caseLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CaseStmt::EllipsisLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->ellipsisLoc); +} + +void CppSharp::Parser::AST::CaseStmt::EllipsisLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->ellipsisLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CaseStmt::LHS::get() +{ + return (((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->lHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->lHS); +} + +void CppSharp::Parser::AST::CaseStmt::LHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->lHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CaseStmt::RHS::get() +{ + return (((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->rHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->rHS); +} + +void CppSharp::Parser::AST::CaseStmt::RHS::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->rHS = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CaseStmt::SubStmt::get() +{ + return (((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->subStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->subStmt); +} + +void CppSharp::Parser::AST::CaseStmt::SubStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->subStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +bool CppSharp::Parser::AST::CaseStmt::CaseStmtIsGNURange::get() +{ + return ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->caseStmtIsGNURange; +} + +void CppSharp::Parser::AST::CaseStmt::CaseStmtIsGNURange::set(bool value) +{ + ((::CppSharp::CppParser::AST::CaseStmt*)NativePtr)->caseStmtIsGNURange = value; +} + +CppSharp::Parser::AST::DefaultStmt::DefaultStmt(::CppSharp::CppParser::AST::DefaultStmt* native) + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)native) +{ +} + +CppSharp::Parser::AST::DefaultStmt^ CppSharp::Parser::AST::DefaultStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DefaultStmt((::CppSharp::CppParser::AST::DefaultStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::DefaultStmt::~DefaultStmt() +{ +} + +CppSharp::Parser::AST::DefaultStmt::DefaultStmt() + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DefaultStmt(); +} + +CppSharp::Parser::AST::DefaultStmt::DefaultStmt(CppSharp::Parser::AST::DefaultStmt^ _0) + : CppSharp::Parser::AST::SwitchCase((::CppSharp::CppParser::AST::SwitchCase*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DefaultStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DefaultStmt(__arg0); +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::DefaultStmt::SubStmt::get() +{ + return (((::CppSharp::CppParser::AST::DefaultStmt*)NativePtr)->subStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::DefaultStmt*)NativePtr)->subStmt); +} + +void CppSharp::Parser::AST::DefaultStmt::SubStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::DefaultStmt*)NativePtr)->subStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DefaultStmt::DefaultLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DefaultStmt*)NativePtr)->defaultLoc); +} + +void CppSharp::Parser::AST::DefaultStmt::DefaultLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DefaultStmt*)NativePtr)->defaultLoc = _marshal0; +} + +CppSharp::Parser::AST::LabelStmt::LabelStmt(::CppSharp::CppParser::AST::LabelStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::LabelStmt^ CppSharp::Parser::AST::LabelStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::LabelStmt((::CppSharp::CppParser::AST::LabelStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::LabelStmt::~LabelStmt() +{ +} + +CppSharp::Parser::AST::LabelStmt::LabelStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::LabelStmt(); +} + +CppSharp::Parser::AST::LabelStmt::LabelStmt(CppSharp::Parser::AST::LabelStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LabelStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::LabelStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::LabelStmt::IdentLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->identLoc); +} + +void CppSharp::Parser::AST::LabelStmt::IdentLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->identLoc = _marshal0; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::LabelStmt::SubStmt::get() +{ + return (((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->subStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->subStmt); +} + +void CppSharp::Parser::AST::LabelStmt::SubStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->subStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +System::String^ CppSharp::Parser::AST::LabelStmt::Name::get() +{ + return (((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->name == 0 ? nullptr : clix::marshalString(((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->name)); +} + +void CppSharp::Parser::AST::LabelStmt::Name::set(System::String^ value) +{ + auto _value = clix::marshalString(value); + ((::CppSharp::CppParser::AST::LabelStmt*)NativePtr)->name = _value.c_str(); +} + +CppSharp::Parser::AST::AttributedStmt::AttributedStmt(::CppSharp::CppParser::AST::AttributedStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::AttributedStmt^ CppSharp::Parser::AST::AttributedStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AttributedStmt((::CppSharp::CppParser::AST::AttributedStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::AttributedStmt::~AttributedStmt() +{ +} + +CppSharp::Parser::AST::AttributedStmt::AttributedStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AttributedStmt(); +} + +CppSharp::Parser::AST::AttributedStmt::AttributedStmt(CppSharp::Parser::AST::AttributedStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AttributedStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AttributedStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AttributedStmt::AttrLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AttributedStmt*)NativePtr)->attrLoc); +} + +void CppSharp::Parser::AST::AttributedStmt::AttrLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AttributedStmt*)NativePtr)->attrLoc = _marshal0; +} + +CppSharp::Parser::AST::IfStmt::IfStmt(::CppSharp::CppParser::AST::IfStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::IfStmt^ CppSharp::Parser::AST::IfStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::IfStmt((::CppSharp::CppParser::AST::IfStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::IfStmt::~IfStmt() +{ +} + +CppSharp::Parser::AST::IfStmt::IfStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::IfStmt(); +} + +CppSharp::Parser::AST::IfStmt::IfStmt(CppSharp::Parser::AST::IfStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::IfStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::IfStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::IfStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::IfStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::IfStmt::Then::get() +{ + return (((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->then == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->then); +} + +void CppSharp::Parser::AST::IfStmt::Then::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->then = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::IfStmt::Else::get() +{ + return (((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->_else == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->_else); +} + +void CppSharp::Parser::AST::IfStmt::Else::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->_else = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::IfStmt::Init::get() +{ + return (((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->init); +} + +void CppSharp::Parser::AST::IfStmt::Init::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->init = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::IfStmt::IfLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->ifLoc); +} + +void CppSharp::Parser::AST::IfStmt::IfLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->ifLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::IfStmt::ElseLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->elseLoc); +} + +void CppSharp::Parser::AST::IfStmt::ElseLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->elseLoc = _marshal0; +} + +bool CppSharp::Parser::AST::IfStmt::Constexpr::get() +{ + return ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->_constexpr; +} + +void CppSharp::Parser::AST::IfStmt::Constexpr::set(bool value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->_constexpr = value; +} + +bool CppSharp::Parser::AST::IfStmt::HasInitStorage::get() +{ + return ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasInitStorage; +} + +void CppSharp::Parser::AST::IfStmt::HasInitStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasInitStorage = value; +} + +bool CppSharp::Parser::AST::IfStmt::HasVarStorage::get() +{ + return ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasVarStorage; +} + +void CppSharp::Parser::AST::IfStmt::HasVarStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasVarStorage = value; +} + +bool CppSharp::Parser::AST::IfStmt::HasElseStorage::get() +{ + return ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasElseStorage; +} + +void CppSharp::Parser::AST::IfStmt::HasElseStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->hasElseStorage = value; +} + +bool CppSharp::Parser::AST::IfStmt::IsObjCAvailabilityCheck::get() +{ + return ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->isObjCAvailabilityCheck; +} + +void CppSharp::Parser::AST::IfStmt::IsObjCAvailabilityCheck::set(bool value) +{ + ((::CppSharp::CppParser::AST::IfStmt*)NativePtr)->isObjCAvailabilityCheck = value; +} + +CppSharp::Parser::AST::SwitchStmt::SwitchStmt(::CppSharp::CppParser::AST::SwitchStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SwitchStmt^ CppSharp::Parser::AST::SwitchStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SwitchStmt((::CppSharp::CppParser::AST::SwitchStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::SwitchStmt::~SwitchStmt() +{ +} + +CppSharp::Parser::AST::SwitchStmt::SwitchStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SwitchStmt(); +} + +CppSharp::Parser::AST::SwitchStmt::SwitchStmt(CppSharp::Parser::AST::SwitchStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SwitchStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SwitchStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::SwitchStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::SwitchStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::SwitchStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::SwitchStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::SwitchStmt::Init::get() +{ + return (((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->init); +} + +void CppSharp::Parser::AST::SwitchStmt::Init::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->init = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SwitchStmt::SwitchLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->switchLoc); +} + +void CppSharp::Parser::AST::SwitchStmt::SwitchLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->switchLoc = _marshal0; +} + +bool CppSharp::Parser::AST::SwitchStmt::HasInitStorage::get() +{ + return ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->hasInitStorage; +} + +void CppSharp::Parser::AST::SwitchStmt::HasInitStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->hasInitStorage = value; +} + +bool CppSharp::Parser::AST::SwitchStmt::HasVarStorage::get() +{ + return ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->hasVarStorage; +} + +void CppSharp::Parser::AST::SwitchStmt::HasVarStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->hasVarStorage = value; +} + +bool CppSharp::Parser::AST::SwitchStmt::IsAllEnumCasesCovered::get() +{ + return ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->isAllEnumCasesCovered; +} + +void CppSharp::Parser::AST::SwitchStmt::IsAllEnumCasesCovered::set(bool value) +{ + ((::CppSharp::CppParser::AST::SwitchStmt*)NativePtr)->isAllEnumCasesCovered = value; +} + +CppSharp::Parser::AST::WhileStmt::WhileStmt(::CppSharp::CppParser::AST::WhileStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::WhileStmt^ CppSharp::Parser::AST::WhileStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::WhileStmt((::CppSharp::CppParser::AST::WhileStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::WhileStmt::~WhileStmt() +{ +} + +CppSharp::Parser::AST::WhileStmt::WhileStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::WhileStmt(); +} + +CppSharp::Parser::AST::WhileStmt::WhileStmt(CppSharp::Parser::AST::WhileStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::WhileStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::WhileStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::WhileStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::WhileStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::WhileStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::WhileStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::WhileStmt::WhileLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->whileLoc); +} + +void CppSharp::Parser::AST::WhileStmt::WhileLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->whileLoc = _marshal0; +} + +bool CppSharp::Parser::AST::WhileStmt::HasVarStorage::get() +{ + return ((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->hasVarStorage; +} + +void CppSharp::Parser::AST::WhileStmt::HasVarStorage::set(bool value) +{ + ((::CppSharp::CppParser::AST::WhileStmt*)NativePtr)->hasVarStorage = value; +} + +CppSharp::Parser::AST::DoStmt::DoStmt(::CppSharp::CppParser::AST::DoStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::DoStmt^ CppSharp::Parser::AST::DoStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DoStmt((::CppSharp::CppParser::AST::DoStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::DoStmt::~DoStmt() +{ +} + +CppSharp::Parser::AST::DoStmt::DoStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DoStmt(); +} + +CppSharp::Parser::AST::DoStmt::DoStmt(CppSharp::Parser::AST::DoStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DoStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DoStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::DoStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::DoStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::DoStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::DoStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DoStmt::DoLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->doLoc); +} + +void CppSharp::Parser::AST::DoStmt::DoLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->doLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DoStmt::WhileLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->whileLoc); +} + +void CppSharp::Parser::AST::DoStmt::WhileLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->whileLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::DoStmt::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::DoStmt::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::DoStmt*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::ForStmt::ForStmt(::CppSharp::CppParser::AST::ForStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::ForStmt^ CppSharp::Parser::AST::ForStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ForStmt((::CppSharp::CppParser::AST::ForStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::ForStmt::~ForStmt() +{ +} + +CppSharp::Parser::AST::ForStmt::ForStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ForStmt(); +} + +CppSharp::Parser::AST::ForStmt::ForStmt(CppSharp::Parser::AST::ForStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ForStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ForStmt(__arg0); +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::ForStmt::Init::get() +{ + return (((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->init); +} + +void CppSharp::Parser::AST::ForStmt::Init::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->init = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ForStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::ForStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ForStmt::Inc::get() +{ + return (((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->inc == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->inc); +} + +void CppSharp::Parser::AST::ForStmt::Inc::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->inc = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::ForStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::ForStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ForStmt::ForLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->forLoc); +} + +void CppSharp::Parser::AST::ForStmt::ForLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->forLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ForStmt::LParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->lParenLoc); +} + +void CppSharp::Parser::AST::ForStmt::LParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->lParenLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ForStmt::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::ForStmt::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::DeclStmt^ CppSharp::Parser::AST::ForStmt::ConditionVariableDeclStmt::get() +{ + return (((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->conditionVariableDeclStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::DeclStmt((::CppSharp::CppParser::AST::DeclStmt*)((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->conditionVariableDeclStmt); +} + +void CppSharp::Parser::AST::ForStmt::ConditionVariableDeclStmt::set(CppSharp::Parser::AST::DeclStmt^ value) +{ + ((::CppSharp::CppParser::AST::ForStmt*)NativePtr)->conditionVariableDeclStmt = (::CppSharp::CppParser::AST::DeclStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::GotoStmt::GotoStmt(::CppSharp::CppParser::AST::GotoStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::GotoStmt^ CppSharp::Parser::AST::GotoStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::GotoStmt((::CppSharp::CppParser::AST::GotoStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::GotoStmt::~GotoStmt() +{ +} + +CppSharp::Parser::AST::GotoStmt::GotoStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::GotoStmt(); +} + +CppSharp::Parser::AST::GotoStmt::GotoStmt(CppSharp::Parser::AST::GotoStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::GotoStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::GotoStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GotoStmt::GotoLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GotoStmt*)NativePtr)->gotoLoc); +} + +void CppSharp::Parser::AST::GotoStmt::GotoLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GotoStmt*)NativePtr)->gotoLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GotoStmt::LabelLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GotoStmt*)NativePtr)->labelLoc); +} + +void CppSharp::Parser::AST::GotoStmt::LabelLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GotoStmt*)NativePtr)->labelLoc = _marshal0; +} + +CppSharp::Parser::AST::IndirectGotoStmt::IndirectGotoStmt(::CppSharp::CppParser::AST::IndirectGotoStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::IndirectGotoStmt^ CppSharp::Parser::AST::IndirectGotoStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::IndirectGotoStmt((::CppSharp::CppParser::AST::IndirectGotoStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::IndirectGotoStmt::~IndirectGotoStmt() +{ +} + +CppSharp::Parser::AST::IndirectGotoStmt::IndirectGotoStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::IndirectGotoStmt(); +} + +CppSharp::Parser::AST::IndirectGotoStmt::IndirectGotoStmt(CppSharp::Parser::AST::IndirectGotoStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::IndirectGotoStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::IndirectGotoStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::IndirectGotoStmt::GotoLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->gotoLoc); +} + +void CppSharp::Parser::AST::IndirectGotoStmt::GotoLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->gotoLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::IndirectGotoStmt::StarLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->starLoc); +} + +void CppSharp::Parser::AST::IndirectGotoStmt::StarLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->starLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::IndirectGotoStmt::Target::get() +{ + return (((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->target == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->target); +} + +void CppSharp::Parser::AST::IndirectGotoStmt::Target::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::IndirectGotoStmt*)NativePtr)->target = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::ContinueStmt::ContinueStmt(::CppSharp::CppParser::AST::ContinueStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::ContinueStmt^ CppSharp::Parser::AST::ContinueStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ContinueStmt((::CppSharp::CppParser::AST::ContinueStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::ContinueStmt::~ContinueStmt() +{ +} + +CppSharp::Parser::AST::ContinueStmt::ContinueStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ContinueStmt(); +} + +CppSharp::Parser::AST::ContinueStmt::ContinueStmt(CppSharp::Parser::AST::ContinueStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ContinueStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ContinueStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ContinueStmt::ContinueLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ContinueStmt*)NativePtr)->continueLoc); +} + +void CppSharp::Parser::AST::ContinueStmt::ContinueLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ContinueStmt*)NativePtr)->continueLoc = _marshal0; +} + +CppSharp::Parser::AST::BreakStmt::BreakStmt(::CppSharp::CppParser::AST::BreakStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::BreakStmt^ CppSharp::Parser::AST::BreakStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BreakStmt((::CppSharp::CppParser::AST::BreakStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::BreakStmt::~BreakStmt() +{ +} + +CppSharp::Parser::AST::BreakStmt::BreakStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BreakStmt(); +} + +CppSharp::Parser::AST::BreakStmt::BreakStmt(CppSharp::Parser::AST::BreakStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BreakStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BreakStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::BreakStmt::BreakLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::BreakStmt*)NativePtr)->breakLoc); +} + +void CppSharp::Parser::AST::BreakStmt::BreakLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::BreakStmt*)NativePtr)->breakLoc = _marshal0; +} + +CppSharp::Parser::AST::ReturnStmt::ReturnStmt(::CppSharp::CppParser::AST::ReturnStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::ReturnStmt^ CppSharp::Parser::AST::ReturnStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ReturnStmt((::CppSharp::CppParser::AST::ReturnStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::ReturnStmt::~ReturnStmt() +{ +} + +CppSharp::Parser::AST::ReturnStmt::ReturnStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ReturnStmt(); +} + +CppSharp::Parser::AST::ReturnStmt::ReturnStmt(CppSharp::Parser::AST::ReturnStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ReturnStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ReturnStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::ReturnStmt::RetValue::get() +{ + return (((::CppSharp::CppParser::AST::ReturnStmt*)NativePtr)->retValue == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::ReturnStmt*)NativePtr)->retValue); +} + +void CppSharp::Parser::AST::ReturnStmt::RetValue::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::ReturnStmt*)NativePtr)->retValue = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::ReturnStmt::ReturnLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::ReturnStmt*)NativePtr)->returnLoc); +} + +void CppSharp::Parser::AST::ReturnStmt::ReturnLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::ReturnStmt*)NativePtr)->returnLoc = _marshal0; +} + +CppSharp::Parser::AST::AsmStmt::AsmStmt(::CppSharp::CppParser::AST::AsmStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::AsmStmt^ CppSharp::Parser::AST::AsmStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::AsmStmt::~AsmStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::AsmStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::AsmStmt::AsmStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AsmStmt(); +} + +CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::StmtClass klass) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + NativePtr = new ::CppSharp::CppParser::AST::AsmStmt(__arg0); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AsmStmt::Getinputs(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->getinputs(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::AsmStmt::Addinputs(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->addinputs(__arg0); +} + +void CppSharp::Parser::AST::AsmStmt::Clearinputs() +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->clearinputs(); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::AsmStmt::Getoutputs(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->getoutputs(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::AsmStmt::Addoutputs(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->addoutputs(__arg0); +} + +void CppSharp::Parser::AST::AsmStmt::Clearoutputs() +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->clearoutputs(); +} + +CppSharp::Parser::AST::AsmStmt::AsmStmt(CppSharp::Parser::AST::AsmStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AsmStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AsmStmt(__arg0); +} + +CppSharp::Parser::AST::AsmStmt::operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::StmtClass klass) +{ + auto __arg0 = (::CppSharp::CppParser::AST::StmtClass)klass; + auto __ret = (::CppSharp::CppParser::AST::AsmStmt) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::AsmStmt(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)____ret); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::AsmStmt::Inputs::get() +{ + auto _tmp__inputs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->inputs) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__inputs->Add(_marshalElement); + } + return _tmp__inputs; +} + +void CppSharp::Parser::AST::AsmStmt::Inputs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->inputs = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::AsmStmt::Outputs::get() +{ + auto _tmp__outputs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->outputs) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__outputs->Add(_marshalElement); + } + return _tmp__outputs; +} + +void CppSharp::Parser::AST::AsmStmt::Outputs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->outputs = _tmpvalue; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::AsmStmt::AsmLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->asmLoc); +} + +void CppSharp::Parser::AST::AsmStmt::AsmLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->asmLoc = _marshal0; +} + +bool CppSharp::Parser::AST::AsmStmt::Simple::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->simple; +} + +void CppSharp::Parser::AST::AsmStmt::Simple::set(bool value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->simple = value; +} + +bool CppSharp::Parser::AST::AsmStmt::Volatile::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->_volatile; +} + +void CppSharp::Parser::AST::AsmStmt::Volatile::set(bool value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->_volatile = value; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::NumOutputs::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numOutputs; +} + +void CppSharp::Parser::AST::AsmStmt::NumOutputs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numOutputs = value; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::NumPlusOperands::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numPlusOperands; +} + +void CppSharp::Parser::AST::AsmStmt::NumPlusOperands::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numPlusOperands = value; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::NumInputs::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numInputs; +} + +void CppSharp::Parser::AST::AsmStmt::NumInputs::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numInputs = value; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::NumClobbers::get() +{ + return ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numClobbers; +} + +void CppSharp::Parser::AST::AsmStmt::NumClobbers::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->numClobbers = value; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::GetinputsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->getinputsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::AsmStmt::GetoutputsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::AsmStmt*)NativePtr)->getoutputsCount(); + return __ret; +} + +CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::AsmStringPiece(::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece^ CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*) native.ToPointer()); +} + +CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::~AsmStringPiece() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::AsmStringPiece() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece(); +} + +CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::AsmStringPiece(CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)object.ToPointer(); +} + +bool CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::IsString::get() +{ + return ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->isString; +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::IsString::set(bool value) +{ + ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->isString = value; +} + +bool CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::IsOperand::get() +{ + return ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->isOperand; +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::IsOperand::set(bool value) +{ + ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->isOperand = value; +} + +System::String^ CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::String::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->string); +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::String::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->string = clix::marshalString(value); +} + +unsigned int CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::OperandNo::get() +{ + return ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->operandNo; +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::OperandNo::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->operandNo = value; +} + +char CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::Modifier::get() +{ + return ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->modifier; +} + +void CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece::Modifier::set(char value) +{ + ((::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*)NativePtr)->modifier = value; +} + +CppSharp::Parser::AST::GCCAsmStmt::GCCAsmStmt(::CppSharp::CppParser::AST::GCCAsmStmt* native) + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)native) +{ +} + +CppSharp::Parser::AST::GCCAsmStmt^ CppSharp::Parser::AST::GCCAsmStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::GCCAsmStmt((::CppSharp::CppParser::AST::GCCAsmStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::GCCAsmStmt::~GCCAsmStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::GCCAsmStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::GCCAsmStmt::GCCAsmStmt() + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::GCCAsmStmt(); +} + +CppSharp::Parser::AST::GCCAsmStmt::GCCAsmStmt(CppSharp::Parser::AST::GCCAsmStmt^ _0) + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::GCCAsmStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::GCCAsmStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::GCCAsmStmt::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::GCCAsmStmt*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::GCCAsmStmt::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::GCCAsmStmt*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::MSAsmStmt::MSAsmStmt(::CppSharp::CppParser::AST::MSAsmStmt* native) + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)native) +{ +} + +CppSharp::Parser::AST::MSAsmStmt^ CppSharp::Parser::AST::MSAsmStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MSAsmStmt((::CppSharp::CppParser::AST::MSAsmStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::MSAsmStmt::~MSAsmStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::MSAsmStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::MSAsmStmt::MSAsmStmt() + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MSAsmStmt(); +} + +CppSharp::Parser::AST::MSAsmStmt::MSAsmStmt(CppSharp::Parser::AST::MSAsmStmt^ _0) + : CppSharp::Parser::AST::AsmStmt((::CppSharp::CppParser::AST::AsmStmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MSAsmStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MSAsmStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MSAsmStmt::LBraceLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->lBraceLoc); +} + +void CppSharp::Parser::AST::MSAsmStmt::LBraceLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->lBraceLoc = _marshal0; +} + +bool CppSharp::Parser::AST::MSAsmStmt::HasBraces::get() +{ + return ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->hasBraces; +} + +void CppSharp::Parser::AST::MSAsmStmt::HasBraces::set(bool value) +{ + ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->hasBraces = value; +} + +unsigned int CppSharp::Parser::AST::MSAsmStmt::NumAsmToks::get() +{ + return ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->numAsmToks; +} + +void CppSharp::Parser::AST::MSAsmStmt::NumAsmToks::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->numAsmToks = value; +} + +System::String^ CppSharp::Parser::AST::MSAsmStmt::AsmString::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->asmString); +} + +void CppSharp::Parser::AST::MSAsmStmt::AsmString::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::MSAsmStmt*)NativePtr)->asmString = clix::marshalString(value); +} + +CppSharp::Parser::AST::SEHExceptStmt::SEHExceptStmt(::CppSharp::CppParser::AST::SEHExceptStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SEHExceptStmt^ CppSharp::Parser::AST::SEHExceptStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SEHExceptStmt((::CppSharp::CppParser::AST::SEHExceptStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::SEHExceptStmt::~SEHExceptStmt() +{ +} + +CppSharp::Parser::AST::SEHExceptStmt::SEHExceptStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SEHExceptStmt(); +} + +CppSharp::Parser::AST::SEHExceptStmt::SEHExceptStmt(CppSharp::Parser::AST::SEHExceptStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SEHExceptStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SEHExceptStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SEHExceptStmt::ExceptLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->exceptLoc); +} + +void CppSharp::Parser::AST::SEHExceptStmt::ExceptLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->exceptLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::SEHExceptStmt::FilterExpr::get() +{ + return (((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->filterExpr == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->filterExpr); +} + +void CppSharp::Parser::AST::SEHExceptStmt::FilterExpr::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->filterExpr = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::SEHExceptStmt::Block::get() +{ + return (((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->block == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->block); +} + +void CppSharp::Parser::AST::SEHExceptStmt::Block::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHExceptStmt*)NativePtr)->block = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::SEHFinallyStmt::SEHFinallyStmt(::CppSharp::CppParser::AST::SEHFinallyStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SEHFinallyStmt^ CppSharp::Parser::AST::SEHFinallyStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SEHFinallyStmt((::CppSharp::CppParser::AST::SEHFinallyStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::SEHFinallyStmt::~SEHFinallyStmt() +{ +} + +CppSharp::Parser::AST::SEHFinallyStmt::SEHFinallyStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SEHFinallyStmt(); +} + +CppSharp::Parser::AST::SEHFinallyStmt::SEHFinallyStmt(CppSharp::Parser::AST::SEHFinallyStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SEHFinallyStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SEHFinallyStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SEHFinallyStmt::FinallyLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SEHFinallyStmt*)NativePtr)->finallyLoc); +} + +void CppSharp::Parser::AST::SEHFinallyStmt::FinallyLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SEHFinallyStmt*)NativePtr)->finallyLoc = _marshal0; +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::SEHFinallyStmt::Block::get() +{ + return (((::CppSharp::CppParser::AST::SEHFinallyStmt*)NativePtr)->block == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::SEHFinallyStmt*)NativePtr)->block); +} + +void CppSharp::Parser::AST::SEHFinallyStmt::Block::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHFinallyStmt*)NativePtr)->block = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::SEHTryStmt::SEHTryStmt(::CppSharp::CppParser::AST::SEHTryStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SEHTryStmt^ CppSharp::Parser::AST::SEHTryStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SEHTryStmt((::CppSharp::CppParser::AST::SEHTryStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::SEHTryStmt::~SEHTryStmt() +{ +} + +CppSharp::Parser::AST::SEHTryStmt::SEHTryStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SEHTryStmt(); +} + +CppSharp::Parser::AST::SEHTryStmt::SEHTryStmt(CppSharp::Parser::AST::SEHTryStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SEHTryStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SEHTryStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SEHTryStmt::TryLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->tryLoc); +} + +void CppSharp::Parser::AST::SEHTryStmt::TryLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->tryLoc = _marshal0; +} + +bool CppSharp::Parser::AST::SEHTryStmt::IsCXXTry::get() +{ + return ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->isCXXTry; +} + +void CppSharp::Parser::AST::SEHTryStmt::IsCXXTry::set(bool value) +{ + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->isCXXTry = value; +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::SEHTryStmt::TryBlock::get() +{ + return (((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->tryBlock == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->tryBlock); +} + +void CppSharp::Parser::AST::SEHTryStmt::TryBlock::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->tryBlock = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::SEHTryStmt::Handler::get() +{ + return (((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->handler == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->handler); +} + +void CppSharp::Parser::AST::SEHTryStmt::Handler::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->handler = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::SEHExceptStmt^ CppSharp::Parser::AST::SEHTryStmt::ExceptHandler::get() +{ + return (((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->exceptHandler == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::SEHExceptStmt((::CppSharp::CppParser::AST::SEHExceptStmt*)((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->exceptHandler); +} + +void CppSharp::Parser::AST::SEHTryStmt::ExceptHandler::set(CppSharp::Parser::AST::SEHExceptStmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->exceptHandler = (::CppSharp::CppParser::AST::SEHExceptStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::SEHFinallyStmt^ CppSharp::Parser::AST::SEHTryStmt::FinallyHandler::get() +{ + return (((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->finallyHandler == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::SEHFinallyStmt((::CppSharp::CppParser::AST::SEHFinallyStmt*)((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->finallyHandler); +} + +void CppSharp::Parser::AST::SEHTryStmt::FinallyHandler::set(CppSharp::Parser::AST::SEHFinallyStmt^ value) +{ + ((::CppSharp::CppParser::AST::SEHTryStmt*)NativePtr)->finallyHandler = (::CppSharp::CppParser::AST::SEHFinallyStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::SEHLeaveStmt::SEHLeaveStmt(::CppSharp::CppParser::AST::SEHLeaveStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::SEHLeaveStmt^ CppSharp::Parser::AST::SEHLeaveStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::SEHLeaveStmt((::CppSharp::CppParser::AST::SEHLeaveStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::SEHLeaveStmt::~SEHLeaveStmt() +{ +} + +CppSharp::Parser::AST::SEHLeaveStmt::SEHLeaveStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::SEHLeaveStmt(); +} + +CppSharp::Parser::AST::SEHLeaveStmt::SEHLeaveStmt(CppSharp::Parser::AST::SEHLeaveStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::SEHLeaveStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::SEHLeaveStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::SEHLeaveStmt::LeaveLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::SEHLeaveStmt*)NativePtr)->leaveLoc); +} + +void CppSharp::Parser::AST::SEHLeaveStmt::LeaveLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::SEHLeaveStmt*)NativePtr)->leaveLoc = _marshal0; +} + +CppSharp::Parser::AST::CapturedStmt::Capture::Capture(::CppSharp::CppParser::AST::CapturedStmt::Capture* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::CapturedStmt::Capture^ CppSharp::Parser::AST::CapturedStmt::Capture::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CapturedStmt::Capture((::CppSharp::CppParser::AST::CapturedStmt::Capture*) native.ToPointer()); +} + +CppSharp::Parser::AST::CapturedStmt::Capture::~Capture() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::CapturedStmt::Capture::Capture() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CapturedStmt::Capture(); +} + +CppSharp::Parser::AST::CapturedStmt::Capture::Capture(CppSharp::Parser::AST::CapturedStmt::Capture^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CapturedStmt::Capture*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CapturedStmt::Capture(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::CapturedStmt::Capture::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::CapturedStmt::Capture*)object.ToPointer(); +} + +CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind CppSharp::Parser::AST::CapturedStmt::Capture::CaptureKind::get() +{ + return (CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind)((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->captureKind; +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::CaptureKind::set(CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->captureKind = (::CppSharp::CppParser::AST::CapturedStmt::VariableCaptureKind)value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CapturedStmt::Capture::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->location); +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->location = _marshal0; +} + +bool CppSharp::Parser::AST::CapturedStmt::Capture::CapturesThis::get() +{ + return ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesThis; +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::CapturesThis::set(bool value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesThis = value; +} + +bool CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariable::get() +{ + return ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariable; +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariable::set(bool value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariable = value; +} + +bool CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariableByCopy::get() +{ + return ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariableByCopy; +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariableByCopy::set(bool value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariableByCopy = value; +} + +bool CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariableArrayType::get() +{ + return ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariableArrayType; +} + +void CppSharp::Parser::AST::CapturedStmt::Capture::CapturesVariableArrayType::set(bool value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt::Capture*)NativePtr)->capturesVariableArrayType = value; +} + +CppSharp::Parser::AST::CapturedStmt::CapturedStmt(::CppSharp::CppParser::AST::CapturedStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CapturedStmt^ CppSharp::Parser::AST::CapturedStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CapturedStmt((::CppSharp::CppParser::AST::CapturedStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CapturedStmt::~CapturedStmt() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CapturedStmt*) __nativePtr; + } +} + +CppSharp::Parser::AST::CapturedStmt::CapturedStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CapturedStmt(); +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CapturedStmt::GetcaptureInits(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->getcapture_inits(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)__ret); +} + +void CppSharp::Parser::AST::CapturedStmt::AddcaptureInits(CppSharp::Parser::AST::Expr^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Expr*)s->NativePtr; + ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->addcapture_inits(__arg0); +} + +void CppSharp::Parser::AST::CapturedStmt::ClearcaptureInits() +{ + ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->clearcapture_inits(); +} + +CppSharp::Parser::AST::CapturedStmt::CapturedStmt(CppSharp::Parser::AST::CapturedStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CapturedStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CapturedStmt(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CapturedStmt::CaptureInits::get() +{ + auto _tmp__capture_inits = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->capture_inits) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)_element); + _tmp__capture_inits->Add(_marshalElement); + } + return _tmp__capture_inits; +} + +void CppSharp::Parser::AST::CapturedStmt::CaptureInits::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expr*>(); + for each(CppSharp::Parser::AST::Expr^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Expr*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->capture_inits = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::CapturedStmt::CaptureSize::get() +{ + return ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->capture_size; +} + +void CppSharp::Parser::AST::CapturedStmt::CaptureSize::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->capture_size = value; +} + +unsigned int CppSharp::Parser::AST::CapturedStmt::GetcaptureInitsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CapturedStmt*)NativePtr)->getcapture_initsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXCatchStmt::CXXCatchStmt(::CppSharp::CppParser::AST::CXXCatchStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CXXCatchStmt^ CppSharp::Parser::AST::CXXCatchStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXCatchStmt((::CppSharp::CppParser::AST::CXXCatchStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXCatchStmt::~CXXCatchStmt() +{ +} + +CppSharp::Parser::AST::CXXCatchStmt::CXXCatchStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXCatchStmt(); +} + +CppSharp::Parser::AST::CXXCatchStmt::CXXCatchStmt(CppSharp::Parser::AST::CXXCatchStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXCatchStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXCatchStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXCatchStmt::CatchLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->catchLoc); +} + +void CppSharp::Parser::AST::CXXCatchStmt::CatchLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->catchLoc = _marshal0; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::CXXCatchStmt::CaughtType::get() +{ + return (&((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->caughtType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->caughtType); +} + +void CppSharp::Parser::AST::CXXCatchStmt::CaughtType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->caughtType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CXXCatchStmt::HandlerBlock::get() +{ + return (((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->handlerBlock == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->handlerBlock); +} + +void CppSharp::Parser::AST::CXXCatchStmt::HandlerBlock::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CXXCatchStmt*)NativePtr)->handlerBlock = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::CXXTryStmt::CXXTryStmt(::CppSharp::CppParser::AST::CXXTryStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CXXTryStmt^ CppSharp::Parser::AST::CXXTryStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXTryStmt((::CppSharp::CppParser::AST::CXXTryStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXTryStmt::~CXXTryStmt() +{ +} + +CppSharp::Parser::AST::CXXTryStmt::CXXTryStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXTryStmt(); +} + +CppSharp::Parser::AST::CXXTryStmt::CXXTryStmt(CppSharp::Parser::AST::CXXTryStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXTryStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXTryStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXTryStmt::TryLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXTryStmt*)NativePtr)->tryLoc); +} + +void CppSharp::Parser::AST::CXXTryStmt::TryLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXTryStmt*)NativePtr)->tryLoc = _marshal0; +} + +unsigned int CppSharp::Parser::AST::CXXTryStmt::NumHandlers::get() +{ + return ((::CppSharp::CppParser::AST::CXXTryStmt*)NativePtr)->numHandlers; +} + +void CppSharp::Parser::AST::CXXTryStmt::NumHandlers::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::CXXTryStmt*)NativePtr)->numHandlers = value; +} + +CppSharp::Parser::AST::CXXForRangeStmt::CXXForRangeStmt(::CppSharp::CppParser::AST::CXXForRangeStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CXXForRangeStmt^ CppSharp::Parser::AST::CXXForRangeStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXForRangeStmt((::CppSharp::CppParser::AST::CXXForRangeStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXForRangeStmt::~CXXForRangeStmt() +{ +} + +CppSharp::Parser::AST::CXXForRangeStmt::CXXForRangeStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CXXForRangeStmt(); +} + +CppSharp::Parser::AST::CXXForRangeStmt::CXXForRangeStmt(CppSharp::Parser::AST::CXXForRangeStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXForRangeStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXForRangeStmt(__arg0); +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CXXForRangeStmt::Init::get() +{ + return (((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->init == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->init); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::Init::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->init = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXForRangeStmt::RangeInit::get() +{ + return (((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->rangeInit == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->rangeInit); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::RangeInit::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->rangeInit = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXForRangeStmt::Cond::get() +{ + return (((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->cond == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->cond); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::Cond::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->cond = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CXXForRangeStmt::Inc::get() +{ + return (((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->inc == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->inc); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::Inc::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->inc = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CXXForRangeStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXForRangeStmt::ForLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->forLoc); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::ForLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->forLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXForRangeStmt::CoawaitLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->coawaitLoc); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::CoawaitLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->coawaitLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXForRangeStmt::ColonLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->colonLoc); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::ColonLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->colonLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CXXForRangeStmt::RParenLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->rParenLoc); +} + +void CppSharp::Parser::AST::CXXForRangeStmt::RParenLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CXXForRangeStmt*)NativePtr)->rParenLoc = _marshal0; +} + +CppSharp::Parser::AST::MSDependentExistsStmt::MSDependentExistsStmt(::CppSharp::CppParser::AST::MSDependentExistsStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::MSDependentExistsStmt^ CppSharp::Parser::AST::MSDependentExistsStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MSDependentExistsStmt((::CppSharp::CppParser::AST::MSDependentExistsStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::MSDependentExistsStmt::~MSDependentExistsStmt() +{ +} + +CppSharp::Parser::AST::MSDependentExistsStmt::MSDependentExistsStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MSDependentExistsStmt(); +} + +CppSharp::Parser::AST::MSDependentExistsStmt::MSDependentExistsStmt(CppSharp::Parser::AST::MSDependentExistsStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MSDependentExistsStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MSDependentExistsStmt(__arg0); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::MSDependentExistsStmt::KeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->keywordLoc); +} + +void CppSharp::Parser::AST::MSDependentExistsStmt::KeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->keywordLoc = _marshal0; +} + +bool CppSharp::Parser::AST::MSDependentExistsStmt::IsIfExists::get() +{ + return ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->isIfExists; +} + +void CppSharp::Parser::AST::MSDependentExistsStmt::IsIfExists::set(bool value) +{ + ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->isIfExists = value; +} + +bool CppSharp::Parser::AST::MSDependentExistsStmt::IsIfNotExists::get() +{ + return ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->isIfNotExists; +} + +void CppSharp::Parser::AST::MSDependentExistsStmt::IsIfNotExists::set(bool value) +{ + ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->isIfNotExists = value; +} + +CppSharp::Parser::AST::CompoundStmt^ CppSharp::Parser::AST::MSDependentExistsStmt::SubStmt::get() +{ + return (((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->subStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::CompoundStmt((::CppSharp::CppParser::AST::CompoundStmt*)((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->subStmt); +} + +void CppSharp::Parser::AST::MSDependentExistsStmt::SubStmt::set(CppSharp::Parser::AST::CompoundStmt^ value) +{ + ((::CppSharp::CppParser::AST::MSDependentExistsStmt*)NativePtr)->subStmt = (::CppSharp::CppParser::AST::CompoundStmt*)value->NativePtr; +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::CtorArgs(::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs^ CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs((::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::~CtorArgs() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::CtorArgs() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs(); +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::CtorArgs(CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs*)object.ToPointer(); +} +CppSharp::Parser::AST::CoroutineBodyStmt::CoroutineBodyStmt(::CppSharp::CppParser::AST::CoroutineBodyStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CoroutineBodyStmt^ CppSharp::Parser::AST::CoroutineBodyStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoroutineBodyStmt((::CppSharp::CppParser::AST::CoroutineBodyStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoroutineBodyStmt::~CoroutineBodyStmt() +{ +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CoroutineBodyStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineBodyStmt(); +} + +CppSharp::Parser::AST::CoroutineBodyStmt::CoroutineBodyStmt(CppSharp::Parser::AST::CoroutineBodyStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoroutineBodyStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoroutineBodyStmt(__arg0); +} + +bool CppSharp::Parser::AST::CoroutineBodyStmt::HasDependentPromiseType::get() +{ + return ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->hasDependentPromiseType; +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::HasDependentPromiseType::set(bool value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->hasDependentPromiseType = value; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::Body::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->body == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->body); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::Body::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->body = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::PromiseDeclStmt::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->promiseDeclStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->promiseDeclStmt); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::PromiseDeclStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->promiseDeclStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::InitSuspendStmt::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->initSuspendStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->initSuspendStmt); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::InitSuspendStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->initSuspendStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::FinalSuspendStmt::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->finalSuspendStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->finalSuspendStmt); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::FinalSuspendStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->finalSuspendStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::ExceptionHandler::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->exceptionHandler == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->exceptionHandler); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::ExceptionHandler::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->exceptionHandler = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::FallthroughHandler::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->fallthroughHandler == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->fallthroughHandler); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::FallthroughHandler::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->fallthroughHandler = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineBodyStmt::Allocate::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->allocate == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->allocate); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::Allocate::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->allocate = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineBodyStmt::Deallocate::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->deallocate == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->deallocate); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::Deallocate::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->deallocate = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoroutineBodyStmt::ReturnValueInit::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnValueInit == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnValueInit); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::ReturnValueInit::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnValueInit = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::ResultDecl::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->resultDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->resultDecl); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::ResultDecl::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->resultDecl = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::ReturnStmt::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmt == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmt); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::ReturnStmt::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmt = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::Stmt^ CppSharp::Parser::AST::CoroutineBodyStmt::ReturnStmtOnAllocFailure::get() +{ + return (((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmtOnAllocFailure == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmtOnAllocFailure); +} + +void CppSharp::Parser::AST::CoroutineBodyStmt::ReturnStmtOnAllocFailure::set(CppSharp::Parser::AST::Stmt^ value) +{ + ((::CppSharp::CppParser::AST::CoroutineBodyStmt*)NativePtr)->returnStmtOnAllocFailure = (::CppSharp::CppParser::AST::Stmt*)value->NativePtr; +} + +CppSharp::Parser::AST::CoreturnStmt::CoreturnStmt(::CppSharp::CppParser::AST::CoreturnStmt* native) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)native) +{ +} + +CppSharp::Parser::AST::CoreturnStmt^ CppSharp::Parser::AST::CoreturnStmt::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CoreturnStmt((::CppSharp::CppParser::AST::CoreturnStmt*) native.ToPointer()); +} + +CppSharp::Parser::AST::CoreturnStmt::~CoreturnStmt() +{ +} + +CppSharp::Parser::AST::CoreturnStmt::CoreturnStmt() + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::CoreturnStmt(); +} + +CppSharp::Parser::AST::CoreturnStmt::CoreturnStmt(CppSharp::Parser::AST::CoreturnStmt^ _0) + : CppSharp::Parser::AST::Stmt((::CppSharp::CppParser::AST::Stmt*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CoreturnStmt*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CoreturnStmt(__arg0); +} + +bool CppSharp::Parser::AST::CoreturnStmt::IsImplicit::get() +{ + return ((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->isImplicit; +} + +void CppSharp::Parser::AST::CoreturnStmt::IsImplicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->isImplicit = value; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::CoreturnStmt::KeywordLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->keywordLoc); +} + +void CppSharp::Parser::AST::CoreturnStmt::KeywordLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->keywordLoc = _marshal0; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoreturnStmt::Operand::get() +{ + return (((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->operand == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->operand); +} + +void CppSharp::Parser::AST::CoreturnStmt::Operand::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->operand = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + +CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::CoreturnStmt::PromiseCall::get() +{ + return (((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->promiseCall == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->promiseCall); +} + +void CppSharp::Parser::AST::CoreturnStmt::PromiseCall::set(CppSharp::Parser::AST::Expr^ value) +{ + ((::CppSharp::CppParser::AST::CoreturnStmt*)NativePtr)->promiseCall = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; +} + diff --git a/src/CppParser/Bindings/CLI/Stmt.h b/src/CppParser/Bindings/CLI/Stmt.h new file mode 100644 index 00000000..bc020f5d --- /dev/null +++ b/src/CppParser/Bindings/CLI/Stmt.h @@ -0,0 +1,1675 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#pragma once + +#include "CppSharp.h" +#include +#include "Sources.h" + +namespace CppSharp +{ + namespace Parser + { + ref class SourceRange; + namespace AST + { + enum struct StmtClass; + ref class AsmStmt; + ref class AttributedStmt; + ref class BreakStmt; + ref class CXXCatchStmt; + ref class CXXForRangeStmt; + ref class CXXTryStmt; + ref class CapturedStmt; + ref class CaseStmt; + ref class CompoundStmt; + ref class ContinueStmt; + ref class CoreturnStmt; + ref class CoroutineBodyStmt; + ref class DeclStmt; + ref class Declaration; + ref class DefaultStmt; + ref class DoStmt; + ref class Expr; + ref class ForStmt; + ref class GCCAsmStmt; + ref class GotoStmt; + ref class IfStmt; + ref class IndirectGotoStmt; + ref class LabelStmt; + ref class MSAsmStmt; + ref class MSDependentExistsStmt; + ref class NullStmt; + ref class QualifiedType; + ref class ReturnStmt; + ref class SEHExceptStmt; + ref class SEHFinallyStmt; + ref class SEHLeaveStmt; + ref class SEHTryStmt; + ref class Stmt; + ref class SwitchCase; + ref class SwitchStmt; + ref class WhileStmt; + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum struct 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 ref class Stmt : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::Stmt* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Stmt(::CppSharp::CppParser::AST::Stmt* native); + static Stmt^ __CreateInstance(::System::IntPtr native); + Stmt(); + + Stmt(CppSharp::Parser::AST::StmtClass klass); + + Stmt(CppSharp::Parser::AST::Stmt^ _0); + + ~Stmt(); + + property CppSharp::Parser::AST::StmtClass StmtClass + { + CppSharp::Parser::AST::StmtClass get(); + void set(CppSharp::Parser::AST::StmtClass); + } + + property CppSharp::Parser::SourceRange^ SourceRange + { + CppSharp::Parser::SourceRange^ get(); + void set(CppSharp::Parser::SourceRange^); + } + + property CppSharp::Parser::SourceLocation EndLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + static operator CppSharp::Parser::AST::Stmt^(CppSharp::Parser::AST::StmtClass klass); + + protected: + bool __ownsNativeInstance; + }; + + public ref class DeclStmt : CppSharp::Parser::AST::Stmt + { + public: + + DeclStmt(::CppSharp::CppParser::AST::DeclStmt* native); + static DeclStmt^ __CreateInstance(::System::IntPtr native); + DeclStmt(); + + DeclStmt(CppSharp::Parser::AST::DeclStmt^ _0); + + ~DeclStmt(); + + property System::Collections::Generic::List^ Decls + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property bool IsSingleDecl + { + bool get(); + void set(bool); + } + + property unsigned int GetdeclsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Declaration^ Getdecls(unsigned int i); + + void Adddecls(CppSharp::Parser::AST::Declaration^ s); + + void Cleardecls(); + }; + + public ref class NullStmt : CppSharp::Parser::AST::Stmt + { + public: + + NullStmt(::CppSharp::CppParser::AST::NullStmt* native); + static NullStmt^ __CreateInstance(::System::IntPtr native); + NullStmt(); + + NullStmt(CppSharp::Parser::AST::NullStmt^ _0); + + ~NullStmt(); + + property CppSharp::Parser::SourceLocation SemiLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasLeadingEmptyMacro + { + bool get(); + void set(bool); + } + }; + + public ref class CompoundStmt : CppSharp::Parser::AST::Stmt + { + public: + + CompoundStmt(::CppSharp::CppParser::AST::CompoundStmt* native); + static CompoundStmt^ __CreateInstance(::System::IntPtr native); + CompoundStmt(); + + CompoundStmt(CppSharp::Parser::AST::CompoundStmt^ _0); + + ~CompoundStmt(); + + property System::Collections::Generic::List^ Body + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property bool BodyEmpty + { + bool get(); + void set(bool); + } + + property unsigned int Size + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::SourceLocation LBracLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RBracLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int GetbodyCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Stmt^ Getbody(unsigned int i); + + void Addbody(CppSharp::Parser::AST::Stmt^ s); + + void Clearbody(); + }; + + public ref class SwitchCase : CppSharp::Parser::AST::Stmt + { + public: + + SwitchCase(::CppSharp::CppParser::AST::SwitchCase* native); + static SwitchCase^ __CreateInstance(::System::IntPtr native); + SwitchCase(); + + SwitchCase(CppSharp::Parser::AST::StmtClass klass); + + SwitchCase(CppSharp::Parser::AST::SwitchCase^ _0); + + ~SwitchCase(); + + property CppSharp::Parser::SourceLocation KeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation ColonLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + static operator CppSharp::Parser::AST::SwitchCase^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class CaseStmt : CppSharp::Parser::AST::SwitchCase + { + public: + + CaseStmt(::CppSharp::CppParser::AST::CaseStmt* native); + static CaseStmt^ __CreateInstance(::System::IntPtr native); + CaseStmt(); + + CaseStmt(CppSharp::Parser::AST::CaseStmt^ _0); + + ~CaseStmt(); + + property CppSharp::Parser::SourceLocation CaseLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation EllipsisLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ LHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ RHS + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ SubStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property bool CaseStmtIsGNURange + { + bool get(); + void set(bool); + } + }; + + public ref class DefaultStmt : CppSharp::Parser::AST::SwitchCase + { + public: + + DefaultStmt(::CppSharp::CppParser::AST::DefaultStmt* native); + static DefaultStmt^ __CreateInstance(::System::IntPtr native); + DefaultStmt(); + + DefaultStmt(CppSharp::Parser::AST::DefaultStmt^ _0); + + ~DefaultStmt(); + + property CppSharp::Parser::AST::Stmt^ SubStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation DefaultLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class LabelStmt : CppSharp::Parser::AST::Stmt + { + public: + + LabelStmt(::CppSharp::CppParser::AST::LabelStmt* native); + static LabelStmt^ __CreateInstance(::System::IntPtr native); + LabelStmt(); + + LabelStmt(CppSharp::Parser::AST::LabelStmt^ _0); + + ~LabelStmt(); + + property CppSharp::Parser::SourceLocation IdentLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Stmt^ SubStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class AttributedStmt : CppSharp::Parser::AST::Stmt + { + public: + + AttributedStmt(::CppSharp::CppParser::AST::AttributedStmt* native); + static AttributedStmt^ __CreateInstance(::System::IntPtr native); + AttributedStmt(); + + AttributedStmt(CppSharp::Parser::AST::AttributedStmt^ _0); + + ~AttributedStmt(); + + property CppSharp::Parser::SourceLocation AttrLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class IfStmt : CppSharp::Parser::AST::Stmt + { + public: + + IfStmt(::CppSharp::CppParser::AST::IfStmt* native); + static IfStmt^ __CreateInstance(::System::IntPtr native); + IfStmt(); + + IfStmt(CppSharp::Parser::AST::IfStmt^ _0); + + ~IfStmt(); + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Then + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ Else + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ Init + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation IfLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation ElseLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool Constexpr + { + bool get(); + void set(bool); + } + + property bool HasInitStorage + { + bool get(); + void set(bool); + } + + property bool HasVarStorage + { + bool get(); + void set(bool); + } + + property bool HasElseStorage + { + bool get(); + void set(bool); + } + + property bool IsObjCAvailabilityCheck + { + bool get(); + void set(bool); + } + }; + + public ref class SwitchStmt : CppSharp::Parser::AST::Stmt + { + public: + + SwitchStmt(::CppSharp::CppParser::AST::SwitchStmt* native); + static SwitchStmt^ __CreateInstance(::System::IntPtr native); + SwitchStmt(); + + SwitchStmt(CppSharp::Parser::AST::SwitchStmt^ _0); + + ~SwitchStmt(); + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ Init + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation SwitchLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasInitStorage + { + bool get(); + void set(bool); + } + + property bool HasVarStorage + { + bool get(); + void set(bool); + } + + property bool IsAllEnumCasesCovered + { + bool get(); + void set(bool); + } + }; + + public ref class WhileStmt : CppSharp::Parser::AST::Stmt + { + public: + + WhileStmt(::CppSharp::CppParser::AST::WhileStmt* native); + static WhileStmt^ __CreateInstance(::System::IntPtr native); + WhileStmt(); + + WhileStmt(CppSharp::Parser::AST::WhileStmt^ _0); + + ~WhileStmt(); + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation WhileLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasVarStorage + { + bool get(); + void set(bool); + } + }; + + public ref class DoStmt : CppSharp::Parser::AST::Stmt + { + public: + + DoStmt(::CppSharp::CppParser::AST::DoStmt* native); + static DoStmt^ __CreateInstance(::System::IntPtr native); + DoStmt(); + + DoStmt(CppSharp::Parser::AST::DoStmt^ _0); + + ~DoStmt(); + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation DoLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation WhileLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class ForStmt : CppSharp::Parser::AST::Stmt + { + public: + + ForStmt(::CppSharp::CppParser::AST::ForStmt* native); + static ForStmt^ __CreateInstance(::System::IntPtr native); + ForStmt(); + + ForStmt(CppSharp::Parser::AST::ForStmt^ _0); + + ~ForStmt(); + + property CppSharp::Parser::AST::Stmt^ Init + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Inc + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation ForLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::DeclStmt^ ConditionVariableDeclStmt + { + CppSharp::Parser::AST::DeclStmt^ get(); + void set(CppSharp::Parser::AST::DeclStmt^); + } + }; + + public ref class GotoStmt : CppSharp::Parser::AST::Stmt + { + public: + + GotoStmt(::CppSharp::CppParser::AST::GotoStmt* native); + static GotoStmt^ __CreateInstance(::System::IntPtr native); + GotoStmt(); + + GotoStmt(CppSharp::Parser::AST::GotoStmt^ _0); + + ~GotoStmt(); + + property CppSharp::Parser::SourceLocation GotoLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation LabelLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class IndirectGotoStmt : CppSharp::Parser::AST::Stmt + { + public: + + IndirectGotoStmt(::CppSharp::CppParser::AST::IndirectGotoStmt* native); + static IndirectGotoStmt^ __CreateInstance(::System::IntPtr native); + IndirectGotoStmt(); + + IndirectGotoStmt(CppSharp::Parser::AST::IndirectGotoStmt^ _0); + + ~IndirectGotoStmt(); + + property CppSharp::Parser::SourceLocation GotoLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation StarLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ Target + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + + public ref class ContinueStmt : CppSharp::Parser::AST::Stmt + { + public: + + ContinueStmt(::CppSharp::CppParser::AST::ContinueStmt* native); + static ContinueStmt^ __CreateInstance(::System::IntPtr native); + ContinueStmt(); + + ContinueStmt(CppSharp::Parser::AST::ContinueStmt^ _0); + + ~ContinueStmt(); + + property CppSharp::Parser::SourceLocation ContinueLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class BreakStmt : CppSharp::Parser::AST::Stmt + { + public: + + BreakStmt(::CppSharp::CppParser::AST::BreakStmt* native); + static BreakStmt^ __CreateInstance(::System::IntPtr native); + BreakStmt(); + + BreakStmt(CppSharp::Parser::AST::BreakStmt^ _0); + + ~BreakStmt(); + + property CppSharp::Parser::SourceLocation BreakLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class ReturnStmt : CppSharp::Parser::AST::Stmt + { + public: + + ReturnStmt(::CppSharp::CppParser::AST::ReturnStmt* native); + static ReturnStmt^ __CreateInstance(::System::IntPtr native); + ReturnStmt(); + + ReturnStmt(CppSharp::Parser::AST::ReturnStmt^ _0); + + ~ReturnStmt(); + + property CppSharp::Parser::AST::Expr^ RetValue + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::SourceLocation ReturnLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class AsmStmt : CppSharp::Parser::AST::Stmt + { + public: + + AsmStmt(::CppSharp::CppParser::AST::AsmStmt* native); + static AsmStmt^ __CreateInstance(::System::IntPtr native); + AsmStmt(); + + AsmStmt(CppSharp::Parser::AST::StmtClass klass); + + AsmStmt(CppSharp::Parser::AST::AsmStmt^ _0); + + ~AsmStmt(); + + property System::Collections::Generic::List^ Inputs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property System::Collections::Generic::List^ Outputs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::SourceLocation AsmLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool Simple + { + bool get(); + void set(bool); + } + + property bool Volatile + { + bool get(); + void set(bool); + } + + property unsigned int NumOutputs + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumPlusOperands + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumInputs + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int NumClobbers + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int GetinputsCount + { + unsigned int get(); + } + + property unsigned int GetoutputsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ Getinputs(unsigned int i); + + void Addinputs(CppSharp::Parser::AST::Expr^ s); + + void Clearinputs(); + + CppSharp::Parser::AST::Expr^ Getoutputs(unsigned int i); + + void Addoutputs(CppSharp::Parser::AST::Expr^ s); + + void Clearoutputs(); + + static operator CppSharp::Parser::AST::AsmStmt^(CppSharp::Parser::AST::StmtClass klass); + }; + + public ref class GCCAsmStmt : CppSharp::Parser::AST::AsmStmt + { + public: + + ref class AsmStringPiece : ICppInstance + { + public: + + enum struct Kind + { + String = 0, + Operand = 1 + }; + + property ::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + AsmStringPiece(::CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece* native); + static AsmStringPiece^ __CreateInstance(::System::IntPtr native); + AsmStringPiece(); + + AsmStringPiece(CppSharp::Parser::AST::GCCAsmStmt::AsmStringPiece^ _0); + + ~AsmStringPiece(); + + property bool IsString + { + bool get(); + void set(bool); + } + + property bool IsOperand + { + bool get(); + void set(bool); + } + + property System::String^ String + { + System::String^ get(); + void set(System::String^); + } + + property unsigned int OperandNo + { + unsigned int get(); + void set(unsigned int); + } + + property char Modifier + { + char get(); + void set(char); + } + + protected: + bool __ownsNativeInstance; + }; + + GCCAsmStmt(::CppSharp::CppParser::AST::GCCAsmStmt* native); + static GCCAsmStmt^ __CreateInstance(::System::IntPtr native); + GCCAsmStmt(); + + GCCAsmStmt(CppSharp::Parser::AST::GCCAsmStmt^ _0); + + ~GCCAsmStmt(); + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class MSAsmStmt : CppSharp::Parser::AST::AsmStmt + { + public: + + MSAsmStmt(::CppSharp::CppParser::AST::MSAsmStmt* native); + static MSAsmStmt^ __CreateInstance(::System::IntPtr native); + MSAsmStmt(); + + MSAsmStmt(CppSharp::Parser::AST::MSAsmStmt^ _0); + + ~MSAsmStmt(); + + property CppSharp::Parser::SourceLocation LBraceLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool HasBraces + { + bool get(); + void set(bool); + } + + property unsigned int NumAsmToks + { + unsigned int get(); + void set(unsigned int); + } + + property System::String^ AsmString + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class SEHExceptStmt : CppSharp::Parser::AST::Stmt + { + public: + + SEHExceptStmt(::CppSharp::CppParser::AST::SEHExceptStmt* native); + static SEHExceptStmt^ __CreateInstance(::System::IntPtr native); + SEHExceptStmt(); + + SEHExceptStmt(CppSharp::Parser::AST::SEHExceptStmt^ _0); + + ~SEHExceptStmt(); + + property CppSharp::Parser::SourceLocation ExceptLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ FilterExpr + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::CompoundStmt^ Block + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + }; + + public ref class SEHFinallyStmt : CppSharp::Parser::AST::Stmt + { + public: + + SEHFinallyStmt(::CppSharp::CppParser::AST::SEHFinallyStmt* native); + static SEHFinallyStmt^ __CreateInstance(::System::IntPtr native); + SEHFinallyStmt(); + + SEHFinallyStmt(CppSharp::Parser::AST::SEHFinallyStmt^ _0); + + ~SEHFinallyStmt(); + + property CppSharp::Parser::SourceLocation FinallyLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::CompoundStmt^ Block + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + }; + + public ref class SEHTryStmt : CppSharp::Parser::AST::Stmt + { + public: + + SEHTryStmt(::CppSharp::CppParser::AST::SEHTryStmt* native); + static SEHTryStmt^ __CreateInstance(::System::IntPtr native); + SEHTryStmt(); + + SEHTryStmt(CppSharp::Parser::AST::SEHTryStmt^ _0); + + ~SEHTryStmt(); + + property CppSharp::Parser::SourceLocation TryLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsCXXTry + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::CompoundStmt^ TryBlock + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + + property CppSharp::Parser::AST::Stmt^ Handler + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::SEHExceptStmt^ ExceptHandler + { + CppSharp::Parser::AST::SEHExceptStmt^ get(); + void set(CppSharp::Parser::AST::SEHExceptStmt^); + } + + property CppSharp::Parser::AST::SEHFinallyStmt^ FinallyHandler + { + CppSharp::Parser::AST::SEHFinallyStmt^ get(); + void set(CppSharp::Parser::AST::SEHFinallyStmt^); + } + }; + + public ref class SEHLeaveStmt : CppSharp::Parser::AST::Stmt + { + public: + + SEHLeaveStmt(::CppSharp::CppParser::AST::SEHLeaveStmt* native); + static SEHLeaveStmt^ __CreateInstance(::System::IntPtr native); + SEHLeaveStmt(); + + SEHLeaveStmt(CppSharp::Parser::AST::SEHLeaveStmt^ _0); + + ~SEHLeaveStmt(); + + property CppSharp::Parser::SourceLocation LeaveLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class CapturedStmt : CppSharp::Parser::AST::Stmt + { + public: + + enum struct VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + }; + + ref class Capture : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::CapturedStmt::Capture* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Capture(::CppSharp::CppParser::AST::CapturedStmt::Capture* native); + static Capture^ __CreateInstance(::System::IntPtr native); + Capture(); + + Capture(CppSharp::Parser::AST::CapturedStmt::Capture^ _0); + + ~Capture(); + + property CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind CaptureKind + { + CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind get(); + void set(CppSharp::Parser::AST::CapturedStmt::VariableCaptureKind); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool CapturesThis + { + bool get(); + void set(bool); + } + + property bool CapturesVariable + { + bool get(); + void set(bool); + } + + property bool CapturesVariableByCopy + { + bool get(); + void set(bool); + } + + property bool CapturesVariableArrayType + { + bool get(); + void set(bool); + } + + protected: + bool __ownsNativeInstance; + }; + + CapturedStmt(::CppSharp::CppParser::AST::CapturedStmt* native); + static CapturedStmt^ __CreateInstance(::System::IntPtr native); + CapturedStmt(); + + CapturedStmt(CppSharp::Parser::AST::CapturedStmt^ _0); + + ~CapturedStmt(); + + property System::Collections::Generic::List^ CaptureInits + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int CaptureSize + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int GetcaptureInitsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Expr^ GetcaptureInits(unsigned int i); + + void AddcaptureInits(CppSharp::Parser::AST::Expr^ s); + + void ClearcaptureInits(); + }; + + public ref class CXXCatchStmt : CppSharp::Parser::AST::Stmt + { + public: + + CXXCatchStmt(::CppSharp::CppParser::AST::CXXCatchStmt* native); + static CXXCatchStmt^ __CreateInstance(::System::IntPtr native); + CXXCatchStmt(); + + CXXCatchStmt(CppSharp::Parser::AST::CXXCatchStmt^ _0); + + ~CXXCatchStmt(); + + property CppSharp::Parser::SourceLocation CatchLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::QualifiedType^ CaughtType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::Stmt^ HandlerBlock + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + }; + + public ref class CXXTryStmt : CppSharp::Parser::AST::Stmt + { + public: + + CXXTryStmt(::CppSharp::CppParser::AST::CXXTryStmt* native); + static CXXTryStmt^ __CreateInstance(::System::IntPtr native); + CXXTryStmt(); + + CXXTryStmt(CppSharp::Parser::AST::CXXTryStmt^ _0); + + ~CXXTryStmt(); + + property CppSharp::Parser::SourceLocation TryLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property unsigned int NumHandlers + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class CXXForRangeStmt : CppSharp::Parser::AST::Stmt + { + public: + + CXXForRangeStmt(::CppSharp::CppParser::AST::CXXForRangeStmt* native); + static CXXForRangeStmt^ __CreateInstance(::System::IntPtr native); + CXXForRangeStmt(); + + CXXForRangeStmt(CppSharp::Parser::AST::CXXForRangeStmt^ _0); + + ~CXXForRangeStmt(); + + property CppSharp::Parser::AST::Stmt^ Init + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Expr^ RangeInit + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Cond + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Inc + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::SourceLocation ForLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation CoawaitLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation ColonLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation RParenLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + }; + + public ref class MSDependentExistsStmt : CppSharp::Parser::AST::Stmt + { + public: + + MSDependentExistsStmt(::CppSharp::CppParser::AST::MSDependentExistsStmt* native); + static MSDependentExistsStmt^ __CreateInstance(::System::IntPtr native); + MSDependentExistsStmt(); + + MSDependentExistsStmt(CppSharp::Parser::AST::MSDependentExistsStmt^ _0); + + ~MSDependentExistsStmt(); + + property CppSharp::Parser::SourceLocation KeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property bool IsIfExists + { + bool get(); + void set(bool); + } + + property bool IsIfNotExists + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::CompoundStmt^ SubStmt + { + CppSharp::Parser::AST::CompoundStmt^ get(); + void set(CppSharp::Parser::AST::CompoundStmt^); + } + }; + + public ref class CoroutineBodyStmt : CppSharp::Parser::AST::Stmt + { + public: + + enum struct 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 + }; + + ref class CtorArgs : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + CtorArgs(::CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs* native); + static CtorArgs^ __CreateInstance(::System::IntPtr native); + CtorArgs(); + + CtorArgs(CppSharp::Parser::AST::CoroutineBodyStmt::CtorArgs^ _0); + + ~CtorArgs(); + + protected: + bool __ownsNativeInstance; + }; + + CoroutineBodyStmt(::CppSharp::CppParser::AST::CoroutineBodyStmt* native); + static CoroutineBodyStmt^ __CreateInstance(::System::IntPtr native); + CoroutineBodyStmt(); + + CoroutineBodyStmt(CppSharp::Parser::AST::CoroutineBodyStmt^ _0); + + ~CoroutineBodyStmt(); + + property bool HasDependentPromiseType + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Stmt^ Body + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ PromiseDeclStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ InitSuspendStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ FinalSuspendStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ ExceptionHandler + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ FallthroughHandler + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Expr^ Allocate + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ Deallocate + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ ReturnValueInit + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Stmt^ ResultDecl + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ ReturnStmt + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + + property CppSharp::Parser::AST::Stmt^ ReturnStmtOnAllocFailure + { + CppSharp::Parser::AST::Stmt^ get(); + void set(CppSharp::Parser::AST::Stmt^); + } + }; + + public ref class CoreturnStmt : CppSharp::Parser::AST::Stmt + { + public: + + enum struct SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + }; + + CoreturnStmt(::CppSharp::CppParser::AST::CoreturnStmt* native); + static CoreturnStmt^ __CreateInstance(::System::IntPtr native); + CoreturnStmt(); + + CoreturnStmt(CppSharp::Parser::AST::CoreturnStmt^ _0); + + ~CoreturnStmt(); + + property bool IsImplicit + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::SourceLocation KeywordLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::AST::Expr^ Operand + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + + property CppSharp::Parser::AST::Expr^ PromiseCall + { + CppSharp::Parser::AST::Expr^ get(); + void set(CppSharp::Parser::AST::Expr^); + } + }; + } + } +} 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 f6073f35..378c4379 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 @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 108)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 324)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(296)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(300)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(308)] + [FieldOffset(312)] internal global::System.IntPtr specializationInfo; - [FieldOffset(312)] + [FieldOffset(316)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(316)] + [FieldOffset(320)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 360)] + [StructLayout(LayoutKind.Explicit, Size = 364)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(296)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(300)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(308)] + [FieldOffset(312)] internal global::System.IntPtr specializationInfo; - [FieldOffset(312)] + [FieldOffset(316)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(316)] + [FieldOffset(320)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(324)] + [FieldOffset(328)] internal byte isVirtual; - [FieldOffset(325)] + [FieldOffset(329)] internal byte isStatic; - [FieldOffset(326)] + [FieldOffset(330)] internal byte isConst; - [FieldOffset(327)] + [FieldOffset(331)] internal byte isExplicit; - [FieldOffset(328)] + [FieldOffset(332)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(332)] + [FieldOffset(336)] internal byte isDefaultConstructor; - [FieldOffset(333)] + [FieldOffset(337)] internal byte isCopyConstructor; - [FieldOffset(334)] + [FieldOffset(338)] internal byte isMoveConstructor; - [FieldOffset(336)] + [FieldOffset(340)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(344)] + [FieldOffset(348)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(348)] + [FieldOffset(352)] 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] @@ -17352,6 +17329,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ decls; + + [FieldOffset(28)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8getdeclsEj")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8adddeclsERPNS1_11DeclarationE")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt10cleardeclsEv")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt13getdeclsCountEv")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ body; + + [FieldOffset(28)] + internal byte body_empty; + + [FieldOffset(32)] + internal uint size; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7getbodyEj")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7addbodyERPNS1_4StmtE")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt9clearbodyEv")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt12getbodyCountEv")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(36)] + internal global::System.IntPtr rHS; + + [FieldOffset(40)] + internal global::System.IntPtr subStmt; + + [FieldOffset(44)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(20)] + internal global::System.IntPtr subStmt; + + [FieldOffset(24)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr then; + + [FieldOffset(24)] + internal global::System.IntPtr _else; + + [FieldOffset(28)] + internal global::System.IntPtr init; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(40)] + internal byte _constexpr; + + [FieldOffset(41)] + internal byte hasInitStorage; + + [FieldOffset(42)] + internal byte hasVarStorage; + + [FieldOffset(43)] + internal byte hasElseStorage; + + [FieldOffset(44)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::System.IntPtr init; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(32)] + internal byte hasInitStorage; + + [FieldOffset(33)] + internal byte hasVarStorage; + + [FieldOffset(34)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(28)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(20)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr inc; + + [FieldOffset(28)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(44)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9getinputsEj")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9addinputsERPNS1_4ExprE")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt11clearinputsEv")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10getoutputsEj")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10addoutputsERPNS1_4ExprE")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt12clearoutputsEv")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt14getinputsCountEv")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt15getoutputsCountEv")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(16)] + internal uint operandNo; + + [FieldOffset(20)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(68)] + internal byte hasBraces; + + [FieldOffset(72)] + internal uint numAsmToks; + + [FieldOffset(76)] + internal global::Std.BasicString.__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", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(20)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(20)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(28)] + internal global::System.IntPtr handler; + + [FieldOffset(32)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(36)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(28)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(28)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(20)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(28)] + internal global::System.IntPtr inc; + + [FieldOffset(32)] + internal global::System.IntPtr body; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(28)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(32)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(36)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(40)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(44)] + internal global::System.IntPtr allocate; + + [FieldOffset(48)] + internal global::System.IntPtr deallocate; + + [FieldOffset(52)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(56)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(60)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(64)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(28)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte isUnique; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal byte hadMultipleCandidates; + + [FieldOffset(45)] + internal byte hasQualifier; + + [FieldOffset(46)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(48)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte exact; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C bytes; + + [FieldOffset(64)] + internal uint byteLength; + + [FieldOffset(68)] + internal uint length; + + [FieldOffset(72)] + internal uint charByteWidth; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(80)] + internal byte isAscii; + + [FieldOffset(81)] + internal byte isWide; + + [FieldOffset(82)] + internal byte isUTF8; + + [FieldOffset(83)] + internal byte isUTF16; + + [FieldOffset(84)] + internal byte isUTF32; + + [FieldOffset(85)] + internal byte isPascal; + + [FieldOffset(86)] + internal byte containsNonAscii; + + [FieldOffset(87)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(88)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(48)] + internal uint numComponents; + + [FieldOffset(52)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(52)] + internal byte isArgumentType; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr lHS; + + [FieldOffset(44)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal byte arrow; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr initializer; + + [FieldOffset(44)] + internal byte fileScope; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(52)] + internal global::System.IntPtr rHS; + + [FieldOffset(56)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(57)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(52)] + internal global::System.IntPtr rHS; + + [FieldOffset(56)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(57)] + internal byte isFEnvAccessOn; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(68)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(60)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(60)] + internal global::System.IntPtr common; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subStmt; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(48)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte isConditionTrue; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr lHS; + + [FieldOffset(48)] + internal global::System.IntPtr rHS; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal byte isConditionDependent; + + [FieldOffset(64)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal byte isMicrosoftABI; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(52)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(56)] + internal uint numInits; + + [FieldOffset(60)] + internal byte hasArrayFiller; + + [FieldOffset(61)] + internal byte isExplicit; + + [FieldOffset(62)] + internal byte isStringLiteralInit; + + [FieldOffset(63)] + internal byte isTransparent; + + [FieldOffset(64)] + internal byte isSemanticForm; + + [FieldOffset(68)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(72)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(44)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal uint size; + + [FieldOffset(52)] + internal byte usesGNUSyntax; + + [FieldOffset(56)] + internal uint numSubExprs; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(4)] + internal byte isFieldDesignator; + + [FieldOffset(5)] + internal byte isArrayDesignator; + + [FieldOffset(6)] + internal byte isArrayRangeDesignator; + + [FieldOffset(8)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(28)] + internal uint firstExprIndex; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numExprs; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numAssocs; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal byte isResultDependent; + + [FieldOffset(60)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(48)] + internal uint numElements; + + [FieldOffset(52)] + internal byte containsDuplicateElements; + + [FieldOffset(53)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint resultExprIndex; + + [FieldOffset(44)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr ptr; + + [FieldOffset(44)] + internal global::System.IntPtr order; + + [FieldOffset(48)] + internal global::System.IntPtr scope; + + [FieldOffset(52)] + internal global::System.IntPtr val1; + + [FieldOffset(56)] + internal global::System.IntPtr orderFail; + + [FieldOffset(60)] + internal global::System.IntPtr val2; + + [FieldOffset(64)] + internal global::System.IntPtr weak; + + [FieldOffset(68)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(80)] + internal byte isVolatile; + + [FieldOffset(81)] + internal byte isCmpXChg; + + [FieldOffset(82)] + internal byte isOpenCL; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(80)] + internal byte isInfixBinaryOp; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(88)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(80)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(88)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte value; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(44)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(45)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte isImplicitAccess; + + [FieldOffset(40)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(44)] + internal byte isArrow; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(44)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C uuidStr; + + [FieldOffset(56)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(44)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal byte elidable; + + [FieldOffset(57)] + internal byte hadMultipleCandidates; + + [FieldOffset(58)] + internal byte listInitialization; + + [FieldOffset(59)] + internal byte stdInitListInitialization; + + [FieldOffset(60)] + internal byte requiresZeroInitialization; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(72)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte constructsVBase; + + [FieldOffset(38)] + internal byte inheritedFromVBase; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal byte elidable; + + [FieldOffset(57)] + internal byte hadMultipleCandidates; + + [FieldOffset(58)] + internal byte listInitialization; + + [FieldOffset(59)] + internal byte stdInitListInitialization; + + [FieldOffset(60)] + internal byte requiresZeroInitialization; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(72)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(56)] + internal uint capture_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(68)] + internal global::System.IntPtr callOperator; + + [FieldOffset(72)] + internal byte isGenericLambda; + + [FieldOffset(76)] + internal global::System.IntPtr body; + + [FieldOffset(80)] + internal byte isMutable; + + [FieldOffset(81)] + internal byte hasExplicitParameters; + + [FieldOffset(82)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 108)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ placement_arguments; + + [FieldOffset(52)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(56)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(68)] + internal byte isArray; + + [FieldOffset(72)] + internal uint numPlacementArgs; + + [FieldOffset(76)] + internal byte isParenTypeId; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(88)] + internal byte isGlobalNew; + + [FieldOffset(89)] + internal byte hasInitializer; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(96)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22getplacement_argumentsEj")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22addplacement_argumentsERPNS1_4ExprE")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr24clearplacement_argumentsEv")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr27getplacement_argumentsCountEv")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte isGlobalDelete; + + [FieldOffset(38)] + internal byte isArrayForm; + + [FieldOffset(39)] + internal byte isArrayFormAsWritten; + + [FieldOffset(40)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal byte hasQualifier; + + [FieldOffset(45)] + internal byte isArrow; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte value; + + [FieldOffset(40)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(48)] + internal ulong value; + + [FieldOffset(56)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(44)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte requiresADL; + + [FieldOffset(69)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(56)] + internal byte hasTemplateKeyword; + + [FieldOffset(57)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(60)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal uint numObjects; + + [FieldOffset(48)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal byte isListInitialization; + + [FieldOffset(72)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(37)] + internal byte isImplicitAccess; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(52)] + internal byte isArrow; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(60)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(80)] + internal byte hasTemplateKeyword; + + [FieldOffset(81)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(84)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte isImplicitAccess; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(80)] + internal byte hasUnresolvedUsing; + + [FieldOffset(81)] + internal byte isArrow; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr operand; + + [FieldOffset(44)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(52)] + internal global::System.IntPtr pack; + + [FieldOffset(56)] + internal uint packLength; + + [FieldOffset(60)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(44)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(44)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr temporary; + + [FieldOffset(44)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(48)] + internal uint manglingNumber; + + [FieldOffset(52)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr lHS; + + [FieldOffset(44)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal byte isRightFold; + + [FieldOffset(49)] + internal byte isLeftFold; + + [FieldOffset(52)] + internal global::System.IntPtr pattern; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(64)] + internal byte isImplicit; + + [FieldOffset(68)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr operand; + + [FieldOffset(44)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(64)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser 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 97f7211b..d7694fac 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 @@ -194,6 +194,32 @@ namespace Std internal global::Std.CompressedPair.__Internal __end_cap_; } + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::System.IntPtr __begin_; + + [FieldOffset(4)] + internal global::System.IntPtr __end_; + + [FieldOffset(8)] + internal global::Std.CompressedPair.__Internal __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::System.IntPtr __begin_; + + [FieldOffset(4)] + internal global::System.IntPtr __end_; + + [FieldOffset(8)] + internal global::Std.CompressedPair.__Internal __end_cap_; + } + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ { diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs index 90967fcd..9c8c96ec 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@ABU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@ABU012@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 144)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 392)] + [StructLayout(LayoutKind.Explicit, Size = 396)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(364)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(376)] + [FieldOffset(380)] internal global::System.IntPtr specializationInfo; - [FieldOffset(380)] + [FieldOffset(384)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(384)] + [FieldOffset(388)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 428)] + [StructLayout(LayoutKind.Explicit, Size = 432)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(364)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(376)] + [FieldOffset(380)] internal global::System.IntPtr specializationInfo; - [FieldOffset(380)] + [FieldOffset(384)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(384)] + [FieldOffset(388)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(392)] + [FieldOffset(396)] internal byte isVirtual; - [FieldOffset(393)] + [FieldOffset(397)] internal byte isStatic; - [FieldOffset(394)] + [FieldOffset(398)] internal byte isConst; - [FieldOffset(395)] + [FieldOffset(399)] internal byte isExplicit; - [FieldOffset(396)] + [FieldOffset(400)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(400)] + [FieldOffset(404)] internal byte isDefaultConstructor; - [FieldOffset(401)] + [FieldOffset(405)] internal byte isCopyConstructor; - [FieldOffset(402)] + [FieldOffset(406)] internal byte isMoveConstructor; - [FieldOffset(404)] + [FieldOffset(408)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(412)] + [FieldOffset(416)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(416)] + [FieldOffset(420)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] @@ -17352,6 +17329,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ decls; + + [FieldOffset(28)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1DeclStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getdecls@DeclStmt@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?adddecls@DeclStmt@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?cleardecls@DeclStmt@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getdeclsCount@DeclStmt@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NullStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NullStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ body; + + [FieldOffset(28)] + internal byte body_empty; + + [FieldOffset(32)] + internal uint size; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CompoundStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getbody@CompoundStmt@AST@CppParser@CppSharp@@QAEPAVStmt@234@I@Z")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addbody@CompoundStmt@AST@CppParser@CppSharp@@QAEXAAPAVStmt@234@@Z")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearbody@CompoundStmt@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getbodyCount@CompoundStmt@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(36)] + internal global::System.IntPtr rHS; + + [FieldOffset(40)] + internal global::System.IntPtr subStmt; + + [FieldOffset(44)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CaseStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CaseStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DefaultStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DefaultStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(20)] + internal global::System.IntPtr subStmt; + + [FieldOffset(24)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0LabelStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0LabelStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr then; + + [FieldOffset(24)] + internal global::System.IntPtr _else; + + [FieldOffset(28)] + internal global::System.IntPtr init; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(40)] + internal byte _constexpr; + + [FieldOffset(41)] + internal byte hasInitStorage; + + [FieldOffset(42)] + internal byte hasVarStorage; + + [FieldOffset(43)] + internal byte hasElseStorage; + + [FieldOffset(44)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IfStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IfStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::System.IntPtr init; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(32)] + internal byte hasInitStorage; + + [FieldOffset(33)] + internal byte hasVarStorage; + + [FieldOffset(34)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SwitchStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SwitchStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(28)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0WhileStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0WhileStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DoStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DoStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(20)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr inc; + + [FieldOffset(28)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(44)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ForStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ForStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GotoStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GotoStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IndirectGotoStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IndirectGotoStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ContinueStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ContinueStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BreakStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BreakStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ReturnStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ReturnStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1AsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getinputs@AsmStmt@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addinputs@AsmStmt@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearinputs@AsmStmt@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getoutputs@AsmStmt@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addoutputs@AsmStmt@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearoutputs@AsmStmt@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getinputsCount@AsmStmt@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getoutputsCount@AsmStmt@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GCCAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GCCAsmStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1GCCAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(28)] + internal uint operandNo; + + [FieldOffset(32)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 100)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(44)] + internal byte simple; + + [FieldOffset(45)] + internal byte _volatile; + + [FieldOffset(48)] + internal uint numOutputs; + + [FieldOffset(52)] + internal uint numPlusOperands; + + [FieldOffset(56)] + internal uint numInputs; + + [FieldOffset(60)] + internal uint numClobbers; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(68)] + internal byte hasBraces; + + [FieldOffset(72)] + internal uint numAsmToks; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C asmString; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSAsmStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1MSAsmStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(20)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHExceptStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHExceptStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(20)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHFinallyStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHFinallyStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(28)] + internal global::System.IntPtr handler; + + [FieldOffset(32)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(36)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHTryStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHTryStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHLeaveStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SEHLeaveStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(28)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CapturedStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CapturedStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CapturedStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getcapture_initsCount@CapturedStmt@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Capture@CapturedStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Capture@CapturedStmt@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(28)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXCatchStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXCatchStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTryStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTryStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(20)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(28)] + internal global::System.IntPtr inc; + + [FieldOffset(32)] + internal global::System.IntPtr body; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXForRangeStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXForRangeStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSDependentExistsStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSDependentExistsStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(20)] + internal global::System.IntPtr body; + + [FieldOffset(24)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(28)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(32)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(36)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(40)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(44)] + internal global::System.IntPtr allocate; + + [FieldOffset(48)] + internal global::System.IntPtr deallocate; + + [FieldOffset(52)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(56)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(60)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(64)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoroutineBodyStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoroutineBodyStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CtorArgs@CoroutineBodyStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CtorArgs@CoroutineBodyStmt@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(28)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoreturnStmt@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoreturnStmt@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Classification@Expr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Classification@Expr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConstantExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConstantExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte isUnique; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(48)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OpaqueValueExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OpaqueValueExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal byte hadMultipleCandidates; + + [FieldOffset(45)] + internal byte hasQualifier; + + [FieldOffset(46)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclRefExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclRefExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IntegerLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0IntegerLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FixedPointLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FixedPointLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(48)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CharacterLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CharacterLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte exact; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(48)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FloatingLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FloatingLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImaginaryLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImaginaryLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 116)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C bytes; + + [FieldOffset(88)] + internal uint byteLength; + + [FieldOffset(92)] + internal uint length; + + [FieldOffset(96)] + internal uint charByteWidth; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(104)] + internal byte isAscii; + + [FieldOffset(105)] + internal byte isWide; + + [FieldOffset(106)] + internal byte isUTF8; + + [FieldOffset(107)] + internal byte isUTF16; + + [FieldOffset(108)] + internal byte isUTF32; + + [FieldOffset(109)] + internal byte isPascal; + + [FieldOffset(110)] + internal byte containsNonAscii; + + [FieldOffset(111)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(112)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StringLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StringLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1StringLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PredefinedExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PredefinedExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParenExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParenExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(48)] + internal uint numComponents; + + [FieldOffset(52)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OffsetOfExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OffsetOfExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(52)] + internal byte isArgumentType; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryExprOrTypeTraitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryExprOrTypeTraitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr lHS; + + [FieldOffset(44)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArraySubscriptExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArraySubscriptExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getarguments@CallExpr@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addarguments@CallExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?cleararguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getargumentsCount@CallExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal byte arrow; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr initializer; + + [FieldOffset(44)] + internal byte fileScope; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundLiteralExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundLiteralExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImplicitCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImplicitCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CStyleCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CStyleCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(52)] + internal global::System.IntPtr rHS; + + [FieldOffset(56)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(57)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(52)] + internal global::System.IntPtr rHS; + + [FieldOffset(56)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(57)] + internal byte isFEnvAccessOn; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(68)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundAssignOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CompoundAssignOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(60)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConditionalOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConditionalOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr cond; + + [FieldOffset(44)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(48)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(60)] + internal global::System.IntPtr common; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryConditionalOperator@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryConditionalOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AddrLabelExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AddrLabelExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subStmt; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StmtExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StmtExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(48)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ShuffleVectorExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ShuffleVectorExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConvertVectorExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ConvertVectorExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte isConditionTrue; + + [FieldOffset(44)] + internal global::System.IntPtr cond; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(52)] + internal global::System.IntPtr rHS; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal byte isConditionDependent; + + [FieldOffset(68)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ChooseExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ChooseExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GNUNullExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GNUNullExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal byte isMicrosoftABI; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VAArgExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VAArgExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(52)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(56)] + internal uint numInits; + + [FieldOffset(60)] + internal byte hasArrayFiller; + + [FieldOffset(61)] + internal byte isExplicit; + + [FieldOffset(62)] + internal byte isStringLiteralInit; + + [FieldOffset(63)] + internal byte isTransparent; + + [FieldOffset(64)] + internal byte isSemanticForm; + + [FieldOffset(68)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(72)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0InitListExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0InitListExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(44)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal uint size; + + [FieldOffset(52)] + internal byte usesGNUSyntax; + + [FieldOffset(56)] + internal uint numSubExprs; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(4)] + internal byte isFieldDesignator; + + [FieldOffset(5)] + internal byte isArrayDesignator; + + [FieldOffset(6)] + internal byte isArrayRangeDesignator; + + [FieldOffset(8)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(28)] + internal uint firstExprIndex; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Designator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Designator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FieldDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FieldDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayOrRangeDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayOrRangeDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NoInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NoInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DesignatedInitUpdateExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DesignatedInitUpdateExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayInitLoopExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayInitLoopExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayInitIndexExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayInitIndexExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImplicitValueInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ImplicitValueInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numExprs; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParenListExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParenListExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numAssocs; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal byte isResultDependent; + + [FieldOffset(60)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GenericSelectionExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0GenericSelectionExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(48)] + internal uint numElements; + + [FieldOffset(52)] + internal byte containsDuplicateElements; + + [FieldOffset(53)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExtVectorElementExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExtVectorElementExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsTypeExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AsTypeExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint resultExprIndex; + + [FieldOffset(44)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PseudoObjectExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PseudoObjectExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr ptr; + + [FieldOffset(44)] + internal global::System.IntPtr order; + + [FieldOffset(48)] + internal global::System.IntPtr scope; + + [FieldOffset(52)] + internal global::System.IntPtr val1; + + [FieldOffset(56)] + internal global::System.IntPtr orderFail; + + [FieldOffset(60)] + internal global::System.IntPtr val2; + + [FieldOffset(64)] + internal global::System.IntPtr weak; + + [FieldOffset(68)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(80)] + internal byte isVolatile; + + [FieldOffset(81)] + internal byte isCmpXChg; + + [FieldOffset(82)] + internal byte isOpenCL; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AtomicExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AtomicExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypoExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypoExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(80)] + internal byte isInfixBinaryOp; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(88)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXOperatorCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXOperatorCallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXOperatorCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(80)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXMemberCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXMemberCallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXMemberCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CUDAKernelCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CUDAKernelCallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CUDAKernelCallExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXStaticCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXStaticCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(88)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDynamicCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDynamicCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXReinterpretCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXReinterpretCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::System.IntPtr castName; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXConstCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXConstCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::System.IntPtr callee; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal uint numArgs; + + [FieldOffset(64)] + internal uint numCommas; + + [FieldOffset(68)] + internal uint builtinCallee; + + [FieldOffset(72)] + internal byte isCallToStdMove; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UserDefinedLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UserDefinedLiteral@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1UserDefinedLiteral@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte value; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXBoolLiteralExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXBoolLiteralExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNullPtrLiteralExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNullPtrLiteralExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXStdInitializerListExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXStdInitializerListExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(44)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(45)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTypeidExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTypeidExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte isImplicitAccess; + + [FieldOffset(44)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(48)] + internal byte isArrow; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSPropertyRefExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSPropertyRefExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSPropertySubscriptExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MSPropertySubscriptExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(44)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C uuidStr; + + [FieldOffset(68)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXUuidofExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXUuidofExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXUuidofExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXThisExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXThisExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(44)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXThrowExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXThrowExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDefaultArgExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDefaultArgExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDefaultInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDefaultInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXBindTemporaryExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXBindTemporaryExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal byte elidable; + + [FieldOffset(57)] + internal byte hadMultipleCandidates; + + [FieldOffset(58)] + internal byte listInitialization; + + [FieldOffset(59)] + internal byte stdInitListInitialization; + + [FieldOffset(60)] + internal byte requiresZeroInitialization; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(72)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getarguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addarguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?cleararguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getargumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte constructsVBase; + + [FieldOffset(41)] + internal byte inheritedFromVBase; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXInheritedCtorInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXInheritedCtorInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(44)] + internal global::System.IntPtr subExpr; + + [FieldOffset(48)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(52)] + internal byte path_empty; + + [FieldOffset(56)] + internal uint path_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXFunctionalCastExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXFunctionalCastExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal byte elidable; + + [FieldOffset(57)] + internal byte hadMultipleCandidates; + + [FieldOffset(58)] + internal byte listInitialization; + + [FieldOffset(59)] + internal byte stdInitListInitialization; + + [FieldOffset(60)] + internal byte requiresZeroInitialization; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(72)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 84)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(56)] + internal uint capture_size; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(68)] + internal global::System.IntPtr callOperator; + + [FieldOffset(72)] + internal byte isGenericLambda; + + [FieldOffset(76)] + internal global::System.IntPtr body; + + [FieldOffset(80)] + internal byte isMutable; + + [FieldOffset(81)] + internal byte hasExplicitParameters; + + [FieldOffset(82)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0LambdaExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0LambdaExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1LambdaExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getcapture_initsCount@LambdaExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXScalarValueInitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXScalarValueInitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 108)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ placement_arguments; + + [FieldOffset(52)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(56)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(68)] + internal byte isArray; + + [FieldOffset(72)] + internal uint numPlacementArgs; + + [FieldOffset(76)] + internal byte isParenTypeId; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(88)] + internal byte isGlobalNew; + + [FieldOffset(89)] + internal byte hasInitializer; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(96)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNewExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNewExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXNewExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getplacement_argumentsCount@CXXNewExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte isGlobalDelete; + + [FieldOffset(41)] + internal byte isArrayForm; + + [FieldOffset(42)] + internal byte isArrayFormAsWritten; + + [FieldOffset(44)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDeleteExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDeleteExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr @base; + + [FieldOffset(44)] + internal byte hasQualifier; + + [FieldOffset(45)] + internal byte isArrow; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXPseudoDestructorExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXPseudoDestructorExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte value; + + [FieldOffset(44)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypeTraitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypeTraitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(48)] + internal ulong value; + + [FieldOffset(56)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayTypeTraitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayTypeTraitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(44)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExpressionTraitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExpressionTraitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FindResult@OverloadExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FindResult@OverloadExpr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte requiresADL; + + [FieldOffset(69)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnresolvedLookupExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnresolvedLookupExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(56)] + internal byte hasTemplateKeyword; + + [FieldOffset(57)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(60)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentScopeDeclRefExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentScopeDeclRefExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr subExpr; + + [FieldOffset(44)] + internal uint numObjects; + + [FieldOffset(48)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExprWithCleanups@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExprWithCleanups@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 76)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(68)] + internal byte isListInitialization; + + [FieldOffset(72)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getarguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAEPAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addarguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?cleararguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getargumentsCount@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal byte isImplicitAccess; + + [FieldOffset(44)] + internal global::System.IntPtr @base; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(56)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(84)] + internal byte hasTemplateKeyword; + + [FieldOffset(85)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(88)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDependentScopeMemberExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXDependentScopeMemberExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal uint numDecls; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(60)] + internal byte hasTemplateKeyword; + + [FieldOffset(61)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(64)] + internal uint numTemplateArgs; + + [FieldOffset(68)] + internal byte isImplicitAccess; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(80)] + internal byte hasUnresolvedUsing; + + [FieldOffset(81)] + internal byte isArrow; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnresolvedMemberExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnresolvedMemberExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr operand; + + [FieldOffset(44)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNoexceptExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXNoexceptExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PackExpansionExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PackExpansionExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(52)] + internal global::System.IntPtr pack; + + [FieldOffset(56)] + internal uint packLength; + + [FieldOffset(60)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SizeOfPackExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SizeOfPackExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(44)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SubstNonTypeTemplateParmExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SubstNonTypeTemplateParmExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(44)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SubstNonTypeTemplateParmPackExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SubstNonTypeTemplateParmPackExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(44)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionParmPackExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionParmPackExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr temporary; + + [FieldOffset(44)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(48)] + internal uint manglingNumber; + + [FieldOffset(52)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExtraState@MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ExtraState@MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr lHS; + + [FieldOffset(44)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal byte isRightFold; + + [FieldOffset(49)] + internal byte isLeftFold; + + [FieldOffset(52)] + internal global::System.IntPtr pattern; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXFoldExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CXXFoldExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QAE@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(64)] + internal byte isImplicit; + + [FieldOffset(68)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoawaitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoawaitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 52)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::System.IntPtr operand; + + [FieldOffset(44)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentCoawaitExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentCoawaitExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal byte valueDependent; + + [FieldOffset(25)] + internal byte typeDependent; + + [FieldOffset(26)] + internal byte instantiationDependent; + + [FieldOffset(27)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(32)] + internal byte isLValue; + + [FieldOffset(33)] + internal byte isRValue; + + [FieldOffset(34)] + internal byte isXValue; + + [FieldOffset(35)] + internal byte isGLValue; + + [FieldOffset(36)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(44)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(48)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(52)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(56)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(60)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(64)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoyieldExpr@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CoyieldExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs index 70d9f731..0798a0bd 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs @@ -321,6 +321,20 @@ namespace Std internal global::Std.VectorVal.__Internal _Myval2; } + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + { + [FieldOffset(0)] + internal global::Std.VectorVal.__Internal _Myval2; + } + + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + { + [FieldOffset(0)] + internal global::Std.VectorVal.__Internal _Myval2; + } + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 { @@ -850,6 +864,20 @@ namespace Std internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; } + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + } + + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + } + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ { diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs index 94db76ce..6f43259b 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 200)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 624)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(560)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(584)] + [FieldOffset(592)] internal global::System.IntPtr specializationInfo; - [FieldOffset(592)] + [FieldOffset(600)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(600)] + [FieldOffset(608)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 680)] + [StructLayout(LayoutKind.Explicit, Size = 688)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(560)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(584)] + [FieldOffset(592)] internal global::System.IntPtr specializationInfo; - [FieldOffset(592)] + [FieldOffset(600)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(600)] + [FieldOffset(608)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(616)] + [FieldOffset(624)] internal byte isVirtual; - [FieldOffset(617)] + [FieldOffset(625)] internal byte isStatic; - [FieldOffset(618)] + [FieldOffset(626)] internal byte isConst; - [FieldOffset(619)] + [FieldOffset(627)] internal byte isExplicit; - [FieldOffset(620)] + [FieldOffset(628)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(624)] + [FieldOffset(632)] internal byte isDefaultConstructor; - [FieldOffset(625)] + [FieldOffset(633)] internal byte isCopyConstructor; - [FieldOffset(626)] + [FieldOffset(634)] internal byte isMoveConstructor; - [FieldOffset(632)] + [FieldOffset(640)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(648)] + [FieldOffset(656)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(656)] + [FieldOffset(664)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] @@ -17351,6 +17328,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ decls; + + [FieldOffset(40)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8getdeclsEj")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8adddeclsERPNS1_11DeclarationE")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt10cleardeclsEv")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt13getdeclsCountEv")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ body; + + [FieldOffset(40)] + internal byte body_empty; + + [FieldOffset(44)] + internal uint size; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7getbodyEj")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7addbodyERPNS1_4StmtE")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt9clearbodyEv")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt12getbodyCountEv")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(40)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr then; + + [FieldOffset(32)] + internal global::System.IntPtr _else; + + [FieldOffset(40)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(56)] + internal byte _constexpr; + + [FieldOffset(57)] + internal byte hasInitStorage; + + [FieldOffset(58)] + internal byte hasVarStorage; + + [FieldOffset(59)] + internal byte hasElseStorage; + + [FieldOffset(60)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr init; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(44)] + internal byte hasInitStorage; + + [FieldOffset(45)] + internal byte hasVarStorage; + + [FieldOffset(46)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(36)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(32)] + internal global::System.IntPtr inc; + + [FieldOffset(40)] + internal global::System.IntPtr body; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9getinputsEj")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9addinputsERPNS1_4ExprE")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt11clearinputsEv")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10getoutputsEj")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10addoutputsERPNS1_4ExprE")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt12clearoutputsEv")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt14getinputsCountEv")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt15getoutputsCountEv")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(32)] + internal uint operandNo; + + [FieldOffset(36)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] + internal byte hasBraces; + + [FieldOffset(96)] + internal uint numAsmToks; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C asmString; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(32)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(32)] + internal global::System.IntPtr handler; + + [FieldOffset(40)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(48)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(40)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(32)] + internal global::System.IntPtr cond; + + [FieldOffset(40)] + internal global::System.IntPtr inc; + + [FieldOffset(48)] + internal global::System.IntPtr body; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(40)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(48)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(56)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(64)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(72)] + internal global::System.IntPtr allocate; + + [FieldOffset(80)] + internal global::System.IntPtr deallocate; + + [FieldOffset(88)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(96)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(104)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(112)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(32)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isUnique; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(54)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(56)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte exact; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C bytes; + + [FieldOffset(96)] + internal uint byteLength; + + [FieldOffset(100)] + internal uint length; + + [FieldOffset(104)] + internal uint charByteWidth; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(112)] + internal byte isAscii; + + [FieldOffset(113)] + internal byte isWide; + + [FieldOffset(114)] + internal byte isUTF8; + + [FieldOffset(115)] + internal byte isUTF16; + + [FieldOffset(116)] + internal byte isUTF32; + + [FieldOffset(117)] + internal byte isPascal; + + [FieldOffset(118)] + internal byte containsNonAscii; + + [FieldOffset(119)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(120)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numComponents; + + [FieldOffset(60)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal byte isArgumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte arrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(64)] + internal byte hadMultipleCandidates; + + [FieldOffset(65)] + internal byte hasQualifier; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(80)] + internal byte hasTemplateKeyword; + + [FieldOffset(81)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(84)] + internal uint numTemplateArgs; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr initializer; + + [FieldOffset(56)] + internal byte fileScope; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr lHS; + + [FieldOffset(88)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr common; + + [FieldOffset(88)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isConditionTrue; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal byte isConditionDependent; + + [FieldOffset(88)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal byte isMicrosoftABI; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(64)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(72)] + internal uint numInits; + + [FieldOffset(76)] + internal byte hasArrayFiller; + + [FieldOffset(77)] + internal byte isExplicit; + + [FieldOffset(78)] + internal byte isStringLiteralInit; + + [FieldOffset(79)] + internal byte isTransparent; + + [FieldOffset(80)] + internal byte isSemanticForm; + + [FieldOffset(88)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(96)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(64)] + internal uint size; + + [FieldOffset(68)] + internal byte usesGNUSyntax; + + [FieldOffset(72)] + internal uint numSubExprs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(8)] + internal byte isFieldDesignator; + + [FieldOffset(9)] + internal byte isArrayDesignator; + + [FieldOffset(10)] + internal byte isArrayRangeDesignator; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal uint firstExprIndex; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numExprs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numAssocs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal byte isResultDependent; + + [FieldOffset(68)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(60)] + internal uint numElements; + + [FieldOffset(64)] + internal byte containsDuplicateElements; + + [FieldOffset(65)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint resultExprIndex; + + [FieldOffset(52)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr ptr; + + [FieldOffset(56)] + internal global::System.IntPtr order; + + [FieldOffset(64)] + internal global::System.IntPtr scope; + + [FieldOffset(72)] + internal global::System.IntPtr val1; + + [FieldOffset(80)] + internal global::System.IntPtr orderFail; + + [FieldOffset(88)] + internal global::System.IntPtr val2; + + [FieldOffset(96)] + internal global::System.IntPtr weak; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(124)] + internal byte isVolatile; + + [FieldOffset(125)] + internal byte isCmpXChg; + + [FieldOffset(126)] + internal byte isOpenCL; + + [FieldOffset(128)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(132)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(104)] + internal byte isInfixBinaryOp; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(112)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(120)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(57)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(56)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C uuidStr; + + [FieldOffset(80)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(52)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte constructsVBase; + + [FieldOffset(46)] + internal byte inheritedFromVBase; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(76)] + internal uint capture_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(88)] + internal global::System.IntPtr callOperator; + + [FieldOffset(96)] + internal byte isGenericLambda; + + [FieldOffset(104)] + internal global::System.IntPtr body; + + [FieldOffset(112)] + internal byte isMutable; + + [FieldOffset(113)] + internal byte hasExplicitParameters; + + [FieldOffset(114)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ placement_arguments; + + [FieldOffset(72)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(80)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(104)] + internal byte isArray; + + [FieldOffset(108)] + internal uint numPlacementArgs; + + [FieldOffset(112)] + internal byte isParenTypeId; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(124)] + internal byte isGlobalNew; + + [FieldOffset(125)] + internal byte hasInitializer; + + [FieldOffset(128)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(136)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22getplacement_argumentsEj")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22addplacement_argumentsERPNS1_4ExprE")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr24clearplacement_argumentsEv")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr27getplacement_argumentsCountEv")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isGlobalDelete; + + [FieldOffset(46)] + internal byte isArrayForm; + + [FieldOffset(47)] + internal byte isArrayFormAsWritten; + + [FieldOffset(48)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte hasQualifier; + + [FieldOffset(57)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(64)] + internal ulong value; + + [FieldOffset(72)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte requiresADL; + + [FieldOffset(77)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(64)] + internal byte hasTemplateKeyword; + + [FieldOffset(65)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(68)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal uint numObjects; + + [FieldOffset(60)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal byte isListInitialization; + + [FieldOffset(100)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(72)] + internal byte isArrow; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(104)] + internal byte hasTemplateKeyword; + + [FieldOffset(105)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(108)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte isImplicitAccess; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(96)] + internal byte hasUnresolvedUsing; + + [FieldOffset(97)] + internal byte isArrow; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr pack; + + [FieldOffset(72)] + internal uint packLength; + + [FieldOffset(76)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(52)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr temporary; + + [FieldOffset(56)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(64)] + internal uint manglingNumber; + + [FieldOffset(68)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal byte isRightFold; + + [FieldOffset(65)] + internal byte isLeftFold; + + [FieldOffset(72)] + internal global::System.IntPtr pattern; + + [FieldOffset(80)] + internal global::System.IntPtr init; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal byte isImplicit; + + [FieldOffset(104)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs index c50981bf..05bfb8e8 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs @@ -194,6 +194,32 @@ namespace Std internal global::Std.CompressedPair.__Internal __end_cap_; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::System.IntPtr __begin_; + + [FieldOffset(8)] + internal global::System.IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internal __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::System.IntPtr __begin_; + + [FieldOffset(8)] + internal global::System.IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internal __end_cap_; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ { diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs index ca655a18..d08ee2bd 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 224)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 688)] + [StructLayout(LayoutKind.Explicit, Size = 696)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(632)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(640)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(656)] + [FieldOffset(664)] internal global::System.IntPtr specializationInfo; - [FieldOffset(664)] + [FieldOffset(672)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(672)] + [FieldOffset(680)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 752)] + [StructLayout(LayoutKind.Explicit, Size = 760)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(632)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(640)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(656)] + [FieldOffset(664)] internal global::System.IntPtr specializationInfo; - [FieldOffset(664)] + [FieldOffset(672)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(672)] + [FieldOffset(680)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(688)] + [FieldOffset(696)] internal byte isVirtual; - [FieldOffset(689)] + [FieldOffset(697)] internal byte isStatic; - [FieldOffset(690)] + [FieldOffset(698)] internal byte isConst; - [FieldOffset(691)] + [FieldOffset(699)] internal byte isExplicit; - [FieldOffset(692)] + [FieldOffset(700)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(696)] + [FieldOffset(704)] internal byte isDefaultConstructor; - [FieldOffset(697)] + [FieldOffset(705)] internal byte isCopyConstructor; - [FieldOffset(698)] + [FieldOffset(706)] internal byte isMoveConstructor; - [FieldOffset(704)] + [FieldOffset(712)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(720)] + [FieldOffset(728)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(728)] + [FieldOffset(736)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] @@ -17351,6 +17328,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ decls; + + [FieldOffset(40)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8getdeclsEj")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8adddeclsERPNS1_11DeclarationE")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt10cleardeclsEv")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt13getdeclsCountEv")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ body; + + [FieldOffset(40)] + internal byte body_empty; + + [FieldOffset(44)] + internal uint size; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7getbodyEj")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7addbodyERPNS1_4StmtE")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt9clearbodyEv")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt12getbodyCountEv")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(40)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr then; + + [FieldOffset(32)] + internal global::System.IntPtr _else; + + [FieldOffset(40)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(56)] + internal byte _constexpr; + + [FieldOffset(57)] + internal byte hasInitStorage; + + [FieldOffset(58)] + internal byte hasVarStorage; + + [FieldOffset(59)] + internal byte hasElseStorage; + + [FieldOffset(60)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr init; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(44)] + internal byte hasInitStorage; + + [FieldOffset(45)] + internal byte hasVarStorage; + + [FieldOffset(46)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(36)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(32)] + internal global::System.IntPtr inc; + + [FieldOffset(40)] + internal global::System.IntPtr body; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9getinputsEj")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9addinputsERPNS1_4ExprE")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt11clearinputsEv")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10getoutputsEj")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10addoutputsERPNS1_4ExprE")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt12clearoutputsEv")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt14getinputsCountEv")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt15getoutputsCountEv")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(40)] + internal uint operandNo; + + [FieldOffset(44)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] + internal byte hasBraces; + + [FieldOffset(96)] + internal uint numAsmToks; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C asmString; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(32)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(32)] + internal global::System.IntPtr handler; + + [FieldOffset(40)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(48)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(40)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(32)] + internal global::System.IntPtr cond; + + [FieldOffset(40)] + internal global::System.IntPtr inc; + + [FieldOffset(48)] + internal global::System.IntPtr body; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(40)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(48)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(56)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(64)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(72)] + internal global::System.IntPtr allocate; + + [FieldOffset(80)] + internal global::System.IntPtr deallocate; + + [FieldOffset(88)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(96)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(104)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(112)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(32)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isUnique; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(54)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(56)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte exact; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C bytes; + + [FieldOffset(112)] + internal uint byteLength; + + [FieldOffset(116)] + internal uint length; + + [FieldOffset(120)] + internal uint charByteWidth; + + [FieldOffset(124)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(128)] + internal byte isAscii; + + [FieldOffset(129)] + internal byte isWide; + + [FieldOffset(130)] + internal byte isUTF8; + + [FieldOffset(131)] + internal byte isUTF16; + + [FieldOffset(132)] + internal byte isUTF32; + + [FieldOffset(133)] + internal byte isPascal; + + [FieldOffset(134)] + internal byte containsNonAscii; + + [FieldOffset(135)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(136)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numComponents; + + [FieldOffset(60)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal byte isArgumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte arrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(64)] + internal byte hadMultipleCandidates; + + [FieldOffset(65)] + internal byte hasQualifier; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(80)] + internal byte hasTemplateKeyword; + + [FieldOffset(81)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(84)] + internal uint numTemplateArgs; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr initializer; + + [FieldOffset(56)] + internal byte fileScope; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr lHS; + + [FieldOffset(88)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr common; + + [FieldOffset(88)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isConditionTrue; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal byte isConditionDependent; + + [FieldOffset(88)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal byte isMicrosoftABI; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(64)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(72)] + internal uint numInits; + + [FieldOffset(76)] + internal byte hasArrayFiller; + + [FieldOffset(77)] + internal byte isExplicit; + + [FieldOffset(78)] + internal byte isStringLiteralInit; + + [FieldOffset(79)] + internal byte isTransparent; + + [FieldOffset(80)] + internal byte isSemanticForm; + + [FieldOffset(88)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(96)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(64)] + internal uint size; + + [FieldOffset(68)] + internal byte usesGNUSyntax; + + [FieldOffset(72)] + internal uint numSubExprs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(8)] + internal byte isFieldDesignator; + + [FieldOffset(9)] + internal byte isArrayDesignator; + + [FieldOffset(10)] + internal byte isArrayRangeDesignator; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal uint firstExprIndex; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numExprs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numAssocs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal byte isResultDependent; + + [FieldOffset(68)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(60)] + internal uint numElements; + + [FieldOffset(64)] + internal byte containsDuplicateElements; + + [FieldOffset(65)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint resultExprIndex; + + [FieldOffset(52)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr ptr; + + [FieldOffset(56)] + internal global::System.IntPtr order; + + [FieldOffset(64)] + internal global::System.IntPtr scope; + + [FieldOffset(72)] + internal global::System.IntPtr val1; + + [FieldOffset(80)] + internal global::System.IntPtr orderFail; + + [FieldOffset(88)] + internal global::System.IntPtr val2; + + [FieldOffset(96)] + internal global::System.IntPtr weak; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(124)] + internal byte isVolatile; + + [FieldOffset(125)] + internal byte isCmpXChg; + + [FieldOffset(126)] + internal byte isOpenCL; + + [FieldOffset(128)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(132)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(104)] + internal byte isInfixBinaryOp; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(112)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(120)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(57)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(56)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C uuidStr; + + [FieldOffset(88)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(52)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte constructsVBase; + + [FieldOffset(46)] + internal byte inheritedFromVBase; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(76)] + internal uint capture_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(88)] + internal global::System.IntPtr callOperator; + + [FieldOffset(96)] + internal byte isGenericLambda; + + [FieldOffset(104)] + internal global::System.IntPtr body; + + [FieldOffset(112)] + internal byte isMutable; + + [FieldOffset(113)] + internal byte hasExplicitParameters; + + [FieldOffset(114)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ placement_arguments; + + [FieldOffset(72)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(80)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(104)] + internal byte isArray; + + [FieldOffset(108)] + internal uint numPlacementArgs; + + [FieldOffset(112)] + internal byte isParenTypeId; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(124)] + internal byte isGlobalNew; + + [FieldOffset(125)] + internal byte hasInitializer; + + [FieldOffset(128)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(136)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22getplacement_argumentsEj")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22addplacement_argumentsERPNS1_4ExprE")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr24clearplacement_argumentsEv")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr27getplacement_argumentsCountEv")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isGlobalDelete; + + [FieldOffset(46)] + internal byte isArrayForm; + + [FieldOffset(47)] + internal byte isArrayFormAsWritten; + + [FieldOffset(48)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte hasQualifier; + + [FieldOffset(57)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(64)] + internal ulong value; + + [FieldOffset(72)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte requiresADL; + + [FieldOffset(77)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(64)] + internal byte hasTemplateKeyword; + + [FieldOffset(65)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(68)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal uint numObjects; + + [FieldOffset(60)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal byte isListInitialization; + + [FieldOffset(100)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(72)] + internal byte isArrow; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(104)] + internal byte hasTemplateKeyword; + + [FieldOffset(105)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(108)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte isImplicitAccess; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(96)] + internal byte hasUnresolvedUsing; + + [FieldOffset(97)] + internal byte isArrow; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr pack; + + [FieldOffset(72)] + internal uint packLength; + + [FieldOffset(76)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(52)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr temporary; + + [FieldOffset(56)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(64)] + internal uint manglingNumber; + + [FieldOffset(68)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal byte isRightFold; + + [FieldOffset(65)] + internal byte isLeftFold; + + [FieldOffset(72)] + internal global::System.IntPtr pattern; + + [FieldOffset(80)] + internal global::System.IntPtr init; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal byte isImplicit; + + [FieldOffset(104)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs index 3479e018..58590a8b 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs @@ -310,6 +310,20 @@ namespace Std internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ { @@ -572,6 +586,20 @@ namespace Std internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ { @@ -655,6 +683,8 @@ namespace Std { public enum RbTreeColor : uint { + S_red = 0, + S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index 4df89207..75e68ecb 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 152)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 544)] + [StructLayout(LayoutKind.Explicit, Size = 552)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(488)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(496)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(512)] + [FieldOffset(520)] internal global::System.IntPtr specializationInfo; - [FieldOffset(520)] + [FieldOffset(528)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(528)] + [FieldOffset(536)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 608)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(488)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(496)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(512)] + [FieldOffset(520)] internal global::System.IntPtr specializationInfo; - [FieldOffset(520)] + [FieldOffset(528)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(528)] + [FieldOffset(536)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(544)] + [FieldOffset(552)] internal byte isVirtual; - [FieldOffset(545)] + [FieldOffset(553)] internal byte isStatic; - [FieldOffset(546)] + [FieldOffset(554)] internal byte isConst; - [FieldOffset(547)] + [FieldOffset(555)] internal byte isExplicit; - [FieldOffset(548)] + [FieldOffset(556)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(552)] + [FieldOffset(560)] internal byte isDefaultConstructor; - [FieldOffset(553)] + [FieldOffset(561)] internal byte isCopyConstructor; - [FieldOffset(554)] + [FieldOffset(562)] internal byte isMoveConstructor; - [FieldOffset(560)] + [FieldOffset(568)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(576)] + [FieldOffset(584)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(584)] + [FieldOffset(592)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] @@ -17351,6 +17328,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4StmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ decls; + + [FieldOffset(40)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8getdeclsEj")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt8adddeclsERPNS1_11DeclarationE")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt10cleardeclsEv")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8DeclStmt13getdeclsCountEv")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8NullStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ body; + + [FieldOffset(40)] + internal byte body_empty; + + [FieldOffset(44)] + internal uint size; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7getbodyEj")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt7addbodyERPNS1_4StmtE")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt9clearbodyEv")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CompoundStmt12getbodyCountEv")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchCaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(40)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CaseStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DefaultStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9LabelStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr then; + + [FieldOffset(32)] + internal global::System.IntPtr _else; + + [FieldOffset(40)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(56)] + internal byte _constexpr; + + [FieldOffset(57)] + internal byte hasInitStorage; + + [FieldOffset(58)] + internal byte hasVarStorage; + + [FieldOffset(59)] + internal byte hasElseStorage; + + [FieldOffset(60)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6IfStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr init; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(44)] + internal byte hasInitStorage; + + [FieldOffset(45)] + internal byte hasVarStorage; + + [FieldOffset(46)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SwitchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(36)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9WhileStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6DoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(32)] + internal global::System.IntPtr inc; + + [FieldOffset(40)] + internal global::System.IntPtr body; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7ForStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8GotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ContinueStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BreakStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ReturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9getinputsEj")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt9addinputsERPNS1_4ExprE")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt11clearinputsEv")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10getoutputsEj")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt10addoutputsERPNS1_4ExprE")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt12clearoutputsEv")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt14getinputsCountEv")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7AsmStmt15getoutputsCountEv")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(16)] + internal uint operandNo; + + [FieldOffset(20)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] + internal byte hasBraces; + + [FieldOffset(96)] + internal uint numAsmToks; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C asmString; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(32)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(32)] + internal global::System.IntPtr handler; + + [FieldOffset(40)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(48)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10SEHTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(40)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmtD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXTryStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(32)] + internal global::System.IntPtr cond; + + [FieldOffset(40)] + internal global::System.IntPtr inc; + + [FieldOffset(48)] + internal global::System.IntPtr body; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(40)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(48)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(56)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(64)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(72)] + internal global::System.IntPtr allocate; + + [FieldOffset(80)] + internal global::System.IntPtr deallocate; + + [FieldOffset(88)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(96)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(104)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(112)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(32)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CoreturnStmtC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4ExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12ConstantExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isUnique; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(54)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14IntegerLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(56)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CharacterLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte exact; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15FloatingLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C bytes; + + [FieldOffset(64)] + internal uint byteLength; + + [FieldOffset(68)] + internal uint length; + + [FieldOffset(72)] + internal uint charByteWidth; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(80)] + internal byte isAscii; + + [FieldOffset(81)] + internal byte isWide; + + [FieldOffset(82)] + internal byte isUTF8; + + [FieldOffset(83)] + internal byte isUTF16; + + [FieldOffset(84)] + internal byte isUTF32; + + [FieldOffset(85)] + internal byte isPascal; + + [FieldOffset(86)] + internal byte containsNonAscii; + + [FieldOffset(87)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(88)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14PredefinedExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParenExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13UnaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numComponents; + + [FieldOffset(60)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OffsetOfExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal byte isArgumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte arrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(64)] + internal byte hadMultipleCandidates; + + [FieldOffset(65)] + internal byte hasQualifier; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(80)] + internal byte hasTemplateKeyword; + + [FieldOffset(81)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(84)] + internal uint numTemplateArgs; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10MemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr initializer; + + [FieldOffset(56)] + internal byte fileScope; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14CStyleCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr lHS; + + [FieldOffset(88)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr common; + + [FieldOffset(88)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13AddrLabelExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8StmtExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isConditionTrue; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal byte isConditionDependent; + + [FieldOffset(88)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ChooseExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11GNUNullExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal byte isMicrosoftABI; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9VAArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(64)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(72)] + internal uint numInits; + + [FieldOffset(76)] + internal byte hasArrayFiller; + + [FieldOffset(77)] + internal byte isExplicit; + + [FieldOffset(78)] + internal byte isStringLiteralInit; + + [FieldOffset(79)] + internal byte isTransparent; + + [FieldOffset(80)] + internal byte isSemanticForm; + + [FieldOffset(88)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(96)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12InitListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(64)] + internal uint size; + + [FieldOffset(68)] + internal byte usesGNUSyntax; + + [FieldOffset(72)] + internal uint numSubExprs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(8)] + internal byte isFieldDesignator; + + [FieldOffset(9)] + internal byte isArrayDesignator; + + [FieldOffset(10)] + internal byte isArrayRangeDesignator; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal uint firstExprIndex; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10NoInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numExprs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ParenListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numAssocs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal byte isResultDependent; + + [FieldOffset(68)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(60)] + internal uint numElements; + + [FieldOffset(64)] + internal byte containsDuplicateElements; + + [FieldOffset(65)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9BlockExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AsTypeExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint resultExprIndex; + + [FieldOffset(52)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr ptr; + + [FieldOffset(56)] + internal global::System.IntPtr order; + + [FieldOffset(64)] + internal global::System.IntPtr scope; + + [FieldOffset(72)] + internal global::System.IntPtr val1; + + [FieldOffset(80)] + internal global::System.IntPtr orderFail; + + [FieldOffset(88)] + internal global::System.IntPtr val2; + + [FieldOffset(96)] + internal global::System.IntPtr weak; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(124)] + internal byte isVolatile; + + [FieldOffset(125)] + internal byte isCmpXChg; + + [FieldOffset(126)] + internal byte isOpenCL; + + [FieldOffset(128)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(132)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10AtomicExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TypoExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(104)] + internal byte isInfixBinaryOp; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(112)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXMemberCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(120)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(100)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UserDefinedLiteralD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(57)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(56)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C uuidStr; + + [FieldOffset(64)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXThisExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(52)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12CXXThrowExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte constructsVBase; + + [FieldOffset(46)] + internal byte inheritedFromVBase; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(76)] + internal uint capture_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(88)] + internal global::System.IntPtr callOperator; + + [FieldOffset(96)] + internal byte isGenericLambda; + + [FieldOffset(104)] + internal global::System.IntPtr body; + + [FieldOffset(112)] + internal byte isMutable; + + [FieldOffset(113)] + internal byte hasExplicitParameters; + + [FieldOffset(114)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16getcapture_initsEj")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr16addcapture_initsERPNS1_4ExprE")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr18clearcapture_initsEv")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10LambdaExpr21getcapture_initsCountEv")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ placement_arguments; + + [FieldOffset(72)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(80)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(104)] + internal byte isArray; + + [FieldOffset(108)] + internal uint numPlacementArgs; + + [FieldOffset(112)] + internal byte isParenTypeId; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(124)] + internal byte isGlobalNew; + + [FieldOffset(125)] + internal byte hasInitializer; + + [FieldOffset(128)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(136)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22getplacement_argumentsEj")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr22addplacement_argumentsERPNS1_4ExprE")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr24clearplacement_argumentsEv")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10CXXNewExpr27getplacement_argumentsCountEv")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isGlobalDelete; + + [FieldOffset(46)] + internal byte isArrayForm; + + [FieldOffset(47)] + internal byte isArrayFormAsWritten; + + [FieldOffset(48)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte hasQualifier; + + [FieldOffset(57)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte value; + + [FieldOffset(48)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13TypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(64)] + internal ulong value; + + [FieldOffset(72)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte requiresADL; + + [FieldOffset(77)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(64)] + internal byte hasTemplateKeyword; + + [FieldOffset(65)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(68)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal uint numObjects; + + [FieldOffset(60)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal byte isListInitialization; + + [FieldOffset(100)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12getargumentsEj")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12addargumentsERPNS1_4ExprE")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr14clearargumentsEv")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr17getargumentsCountEv")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(45)] + internal byte isImplicitAccess; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(72)] + internal byte isArrow; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(104)] + internal byte hasTemplateKeyword; + + [FieldOffset(105)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(108)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte isImplicitAccess; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(96)] + internal byte hasUnresolvedUsing; + + [FieldOffset(97)] + internal byte isArrow; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr pack; + + [FieldOffset(72)] + internal uint packLength; + + [FieldOffset(76)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(52)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr temporary; + + [FieldOffset(56)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(64)] + internal uint manglingNumber; + + [FieldOffset(68)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal byte isRightFold; + + [FieldOffset(65)] + internal byte isLeftFold; + + [FieldOffset(72)] + internal global::System.IntPtr pattern; + + [FieldOffset(80)] + internal global::System.IntPtr init; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CXXFoldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ENS1_9StmtClassE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal byte isImplicit; + + [FieldOffset(104)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11CoyieldExprC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs index 97204db3..16f26f05 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs @@ -310,6 +310,20 @@ namespace Std internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ { @@ -572,6 +586,20 @@ namespace Std internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ { @@ -655,6 +683,8 @@ namespace Std { public enum RbTreeColor : uint { + S_red = 0, + S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs index bc4f6479..f5818c01 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs @@ -3106,13 +3106,13 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@AEBU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@AEBU012@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } @@ -3154,20 +3154,20 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public SourceRange() + public SourceRange(global::CppSharp.Parser.SourceRange _0) { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); } - public SourceRange(global::CppSharp.Parser.SourceRange _0) + public SourceRange() { __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment)); } public void Dispose() @@ -6270,53 +6270,6 @@ namespace CppSharp UnusedFunctionPointer = 7 } - public unsafe partial class Expr - { - [StructLayout(LayoutKind.Explicit, Size = 0)] - public partial struct __Internal - { - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Expr(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); - *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; - return ret.ToPointer(); - } - - private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Expr(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - } - public unsafe partial class Declaration : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 224)] @@ -9192,7 +9145,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 656)] + [StructLayout(LayoutKind.Explicit, Size = 664)] public new partial struct __Internal { [FieldOffset(0)] @@ -9331,18 +9284,21 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(600)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(608)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(624)] + [FieldOffset(632)] internal global::System.IntPtr specializationInfo; - [FieldOffset(632)] + [FieldOffset(640)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(640)] + [FieldOffset(648)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -9663,6 +9619,24 @@ namespace CppSharp } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->bodyStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->bodyStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get @@ -9737,7 +9711,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 720)] + [StructLayout(LayoutKind.Explicit, Size = 728)] public new partial struct __Internal { [FieldOffset(0)] @@ -9876,51 +9850,54 @@ namespace CppSharp internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::System.IntPtr bodyStmt; [FieldOffset(600)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(608)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(624)] + [FieldOffset(632)] internal global::System.IntPtr specializationInfo; - [FieldOffset(632)] + [FieldOffset(640)] internal global::System.IntPtr instantiatedFrom; - [FieldOffset(640)] + [FieldOffset(648)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(656)] + [FieldOffset(664)] internal byte isVirtual; - [FieldOffset(657)] + [FieldOffset(665)] internal byte isStatic; - [FieldOffset(658)] + [FieldOffset(666)] internal byte isConst; - [FieldOffset(659)] + [FieldOffset(667)] internal byte isExplicit; - [FieldOffset(660)] + [FieldOffset(668)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(664)] + [FieldOffset(672)] internal byte isDefaultConstructor; - [FieldOffset(665)] + [FieldOffset(673)] internal byte isCopyConstructor; - [FieldOffset(666)] + [FieldOffset(674)] internal byte isMoveConstructor; - [FieldOffset(672)] + [FieldOffset(680)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(688)] + [FieldOffset(696)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - [FieldOffset(696)] + [FieldOffset(704)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] @@ -17352,6 +17329,26123 @@ namespace CppSharp } } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Stmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Stmt __CreateInstance(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Stmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Stmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + *(global::CppSharp.Parser.AST.Stmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(global::CppSharp.Parser.AST.Stmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Stmt() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + 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 ((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->stmtClass; + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Stmt.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ decls; + + [FieldOffset(40)] + internal byte isSingleDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1DeclStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getdecls@DeclStmt@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr Getdecls(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?adddecls@DeclStmt@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] + internal static extern void Adddecls(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?cleardecls@DeclStmt@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Cleardecls(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getdeclsCount@DeclStmt@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetdeclsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclStmt __CreateInstance(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(global::CppSharp.Parser.AST.DeclStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var __ret = __Internal.Getdecls((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void 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; + __Internal.Adddecls((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls((__Instance + __PointerAdjustment)); + } + + public bool IsSingleDecl + { + get + { + return ((global::CppSharp.Parser.AST.DeclStmt.__Internal*) __Instance)->isSingleDecl != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclStmt.__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public uint GetdeclsCount + { + get + { + var __ret = __Internal.GetdeclsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(20)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0NullStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0NullStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NullStmt __CreateInstance(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NullStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NullStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + *(global::CppSharp.Parser.AST.NullStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(global::CppSharp.Parser.AST.NullStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NullStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->semiLoc); + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NullStmt.__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ body; + + [FieldOffset(40)] + internal byte body_empty; + + [FieldOffset(44)] + internal uint size; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CompoundStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getbody@CompoundStmt@AST@CppParser@CppSharp@@QEAAPEAVStmt@234@I@Z")] + internal static extern global::System.IntPtr Getbody(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addbody@CompoundStmt@AST@CppParser@CppSharp@@QEAAXAEAPEAVStmt@234@@Z")] + internal static extern void Addbody(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearbody@CompoundStmt@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Clearbody(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getbodyCount@CompoundStmt@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetbodyCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundStmt __CreateInstance(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var __ret = __Internal.Getbody((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Stmt __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(__ret); + 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; + __Internal.Addbody((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody((__Instance + __PointerAdjustment)); + } + + public bool BodyEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->body_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->lBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundStmt.__Internal*) __Instance)->rBracLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundStmt.__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var __ret = __Internal.GetbodyCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SwitchCase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchCase __CreateInstance(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchCase.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + *(global::CppSharp.Parser.AST.SwitchCase.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(global::CppSharp.Parser.AST.SwitchCase.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchCase() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchCase.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal global::System.IntPtr lHS; + + [FieldOffset(40)] + internal global::System.IntPtr rHS; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CaseStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CaseStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CaseStmt __CreateInstance(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CaseStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + *(global::CppSharp.Parser.AST.CaseStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(global::CppSharp.Parser.AST.CaseStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CaseStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CaseStmt.__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DefaultStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DefaultStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DefaultStmt __CreateInstance(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DefaultStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + *(global::CppSharp.Parser.AST.DefaultStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DefaultStmt.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [FieldOffset(32)] + internal global::System.IntPtr name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LabelStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LabelStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LabelStmt __CreateInstance(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LabelStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + *(global::CppSharp.Parser.AST.LabelStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(global::CppSharp.Parser.AST.LabelStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LabelStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->identLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance)->name); + } + + set + { + ((global::CppSharp.Parser.AST.LabelStmt.__Internal*)__Instance)->name = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedStmt __CreateInstance(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + *(global::CppSharp.Parser.AST.AttributedStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance)->attrLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AttributedStmt.__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr then; + + [FieldOffset(32)] + internal global::System.IntPtr _else; + + [FieldOffset(40)] + internal global::System.IntPtr init; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(56)] + internal byte _constexpr; + + [FieldOffset(57)] + internal byte hasInitStorage; + + [FieldOffset(58)] + internal byte hasVarStorage; + + [FieldOffset(59)] + internal byte hasElseStorage; + + [FieldOffset(60)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IfStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IfStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IfStmt __CreateInstance(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IfStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IfStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + *(global::CppSharp.Parser.AST.IfStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(global::CppSharp.Parser.AST.IfStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IfStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->then); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->then = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_else); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_else = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->ifLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->elseLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->_constexpr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->hasElseStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((global::CppSharp.Parser.AST.IfStmt.__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr init; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(44)] + internal byte hasInitStorage; + + [FieldOffset(45)] + internal byte hasVarStorage; + + [FieldOffset(46)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SwitchStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SwitchStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SwitchStmt __CreateInstance(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SwitchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + *(global::CppSharp.Parser.AST.SwitchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->switchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasInitStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SwitchStmt.__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(36)] + internal byte hasVarStorage; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0WhileStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0WhileStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.WhileStmt __CreateInstance(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.WhileStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + *(global::CppSharp.Parser.AST.WhileStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(global::CppSharp.Parser.AST.WhileStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public WhileStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance)->hasVarStorage != 0; + } + + set + { + ((global::CppSharp.Parser.AST.WhileStmt.__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr cond; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DoStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DoStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DoStmt __CreateInstance(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + *(global::CppSharp.Parser.AST.DoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(global::CppSharp.Parser.AST.DoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->doLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->whileLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DoStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr cond; + + [FieldOffset(32)] + internal global::System.IntPtr inc; + + [FieldOffset(40)] + internal global::System.IntPtr body; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ForStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ForStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ForStmt __CreateInstance(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ForStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ForStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + *(global::CppSharp.Parser.AST.ForStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(global::CppSharp.Parser.AST.ForStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ForStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + global::CppSharp.Parser.AST.DeclStmt __result0; + if (((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.DeclStmt) global::CppSharp.Parser.AST.DeclStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.DeclStmt.__CreateInstance(((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance)->conditionVariableDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ForStmt.__Internal*)__Instance)->conditionVariableDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GotoStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GotoStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GotoStmt __CreateInstance(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.GotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(global::CppSharp.Parser.AST.GotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GotoStmt.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(24)] + internal global::System.IntPtr target; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IndirectGotoStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IndirectGotoStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IndirectGotoStmt __CreateInstance(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + *(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->gotoLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->starLoc); + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance)->target); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ContinueStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ContinueStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ContinueStmt __CreateInstance(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ContinueStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + *(global::CppSharp.Parser.AST.ContinueStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance)->continueLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ContinueStmt.__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BreakStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BreakStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BreakStmt __CreateInstance(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BreakStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + *(global::CppSharp.Parser.AST.BreakStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(global::CppSharp.Parser.AST.BreakStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BreakStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance)->breakLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BreakStmt.__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr retValue; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ReturnStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ReturnStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ReturnStmt __CreateInstance(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ReturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.ReturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->retValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->retValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance)->returnLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ReturnStmt.__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsmStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1AsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getinputs@AsmStmt@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getinputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addinputs@AsmStmt@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void Addinputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearinputs@AsmStmt@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Clearinputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getoutputs@AsmStmt@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getoutputs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addoutputs@AsmStmt@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void Addoutputs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearoutputs@AsmStmt@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Clearoutputs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getinputsCount@AsmStmt@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetinputsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getoutputsCount@AsmStmt@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetoutputsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsmStmt __CreateInstance(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(global::CppSharp.Parser.AST.AsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var __ret = __Internal.Getinputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addinputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var __ret = __Internal.Getoutputs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addoutputs((__Instance + __PointerAdjustment), __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->asmLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->simple != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->_volatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numOutputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numPlusOperands; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numInputs; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((global::CppSharp.Parser.AST.AsmStmt.__Internal*) __Instance)->numClobbers; + } + + set + { + ((global::CppSharp.Parser.AST.AsmStmt.__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var __ret = __Internal.GetinputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint GetoutputsCount + { + get + { + var __ret = __Internal.GetoutputsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(40)] + internal uint operandNo; + + [FieldOffset(44)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1AsmStringPiece@GCCAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isString != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->isOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->@string), value); + } + } + + public uint OperandNo + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->operandNo; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*) __Instance)->modifier; + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal*)__Instance)->modifier = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GCCAsmStmt __CreateInstance(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GCCAsmStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ inputs; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ outputs; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(68)] + internal byte simple; + + [FieldOffset(69)] + internal byte _volatile; + + [FieldOffset(72)] + internal uint numOutputs; + + [FieldOffset(76)] + internal uint numPlusOperands; + + [FieldOffset(80)] + internal uint numInputs; + + [FieldOffset(84)] + internal uint numClobbers; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] + internal byte hasBraces; + + [FieldOffset(96)] + internal uint numAsmToks; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C asmString; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSAsmStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1MSAsmStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSAsmStmt __CreateInstance(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->hasBraces != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->numAsmToks; + } + + set + { + ((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*) __Instance)->asmString)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MSAsmStmt.__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] + internal global::System.IntPtr filterExpr; + + [FieldOffset(32)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHExceptStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHExceptStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHExceptStmt __CreateInstance(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->exceptLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->filterExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->filterExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] + internal global::System.IntPtr block; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHFinallyStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHFinallyStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHFinallyStmt __CreateInstance(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->finallyLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance)->block); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*)__Instance)->block = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal byte isCXXTry; + + [FieldOffset(24)] + internal global::System.IntPtr tryBlock; + + [FieldOffset(32)] + internal global::System.IntPtr handler; + + [FieldOffset(40)] + internal global::System.IntPtr exceptHandler; + + [FieldOffset(48)] + internal global::System.IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHTryStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHTryStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHTryStmt __CreateInstance(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->isCXXTry != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->tryBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->tryBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->handler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->handler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + global::CppSharp.Parser.AST.SEHExceptStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHExceptStmt) global::CppSharp.Parser.AST.SEHExceptStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->exceptHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->exceptHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + global::CppSharp.Parser.AST.SEHFinallyStmt __result0; + if (((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler)) + __result0 = (global::CppSharp.Parser.AST.SEHFinallyStmt) global::CppSharp.Parser.AST.SEHFinallyStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler]; + else __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__CreateInstance(((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance)->finallyHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*)__Instance)->finallyHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHLeaveStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SEHLeaveStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SEHLeaveStmt __CreateInstance(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + *(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance)->leaveLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(40)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CapturedStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CapturedStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CapturedStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearcapture_inits@CapturedStmt@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getcapture_initsCount@CapturedStmt@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Capture@CapturedStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Capture@CapturedStmt@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt.Capture __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt.Capture(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + *(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Capture() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CapturedStmt.Capture __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->captureKind; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesThis != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableByCopy != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance)->capturesVariableArrayType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CapturedStmt __CreateInstance(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CapturedStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.CapturedStmt.__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] + internal global::System.IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXCatchStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXCatchStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXCatchStmt __CreateInstance(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->catchLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->caughtType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->caughtType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance)->handlerBlock); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*)__Instance)->handlerBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(20)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTryStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTryStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTryStmt __CreateInstance(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->tryLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance)->numHandlers; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::System.IntPtr init; + + [FieldOffset(24)] + internal global::System.IntPtr rangeInit; + + [FieldOffset(32)] + internal global::System.IntPtr cond; + + [FieldOffset(40)] + internal global::System.IntPtr inc; + + [FieldOffset(48)] + internal global::System.IntPtr body; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXForRangeStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXForRangeStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXForRangeStmt __CreateInstance(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + *(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rangeInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rangeInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->inc); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->inc = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->forLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->coawaitLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(20)] + internal byte isIfExists; + + [FieldOffset(21)] + internal byte isIfNotExists; + + [FieldOffset(24)] + internal global::System.IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSDependentExistsStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSDependentExistsStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSDependentExistsStmt __CreateInstance(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + *(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->isIfNotExists != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte hasDependentPromiseType; + + [FieldOffset(24)] + internal global::System.IntPtr body; + + [FieldOffset(32)] + internal global::System.IntPtr promiseDeclStmt; + + [FieldOffset(40)] + internal global::System.IntPtr initSuspendStmt; + + [FieldOffset(48)] + internal global::System.IntPtr finalSuspendStmt; + + [FieldOffset(56)] + internal global::System.IntPtr exceptionHandler; + + [FieldOffset(64)] + internal global::System.IntPtr fallthroughHandler; + + [FieldOffset(72)] + internal global::System.IntPtr allocate; + + [FieldOffset(80)] + internal global::System.IntPtr deallocate; + + [FieldOffset(88)] + internal global::System.IntPtr returnValueInit; + + [FieldOffset(96)] + internal global::System.IntPtr resultDecl; + + [FieldOffset(104)] + internal global::System.IntPtr returnStmt; + + [FieldOffset(112)] + internal global::System.IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoroutineBodyStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoroutineBodyStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CtorArgs@CoroutineBodyStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CtorArgs@CoroutineBodyStmt@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CtorArgs() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineBodyStmt __CreateInstance(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->hasDependentPromiseType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->promiseDeclStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->promiseDeclStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->initSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->initSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->finalSuspendStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->finalSuspendStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->exceptionHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->exceptionHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->fallthroughHandler); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->fallthroughHandler = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->allocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->allocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->deallocate); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->deallocate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnValueInit); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnValueInit = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->resultDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->resultDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance)->returnStmtOnAllocFailure); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*)__Instance)->returnStmtOnAllocFailure = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal byte isImplicit; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::System.IntPtr operand; + + [FieldOffset(32)] + internal global::System.IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoreturnStmt@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoreturnStmt@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoreturnStmt __CreateInstance(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + *(global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance)->promiseCall); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*)__Instance)->promiseCall = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Expr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Classification@Expr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Classification@Expr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.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 global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr.Classification __CreateInstance(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr.Classification(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.Classification.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + *(global::CppSharp.Parser.AST.Expr.Classification.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(global::CppSharp.Parser.AST.Expr.Classification.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Classification() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Expr.Classification __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->modifiable; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isPRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance)->isModifiable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.Classification.__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->type)); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->valueDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->typeDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->instantiationDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->exprLoc); + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isRValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isXValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isGLValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Expr.__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FullExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FullExpr __CreateInstance(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + *(global::CppSharp.Parser.AST.FullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(global::CppSharp.Parser.AST.FullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FullExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConstantExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConstantExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConstantExpr __CreateInstance(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConstantExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConstantExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte isUnique; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal global::System.IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OpaqueValueExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OpaqueValueExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OpaqueValueExpr __CreateInstance(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + *(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->isUnique != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance)->sourceExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*)__Instance)->sourceExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte hadMultipleCandidates; + + [FieldOffset(53)] + internal byte hasQualifier; + + [FieldOffset(54)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(76)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclRefExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclRefExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IntegerLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0IntegerLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.IntegerLiteral __CreateInstance(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + *(global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FixedPointLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FixedPointLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FixedPointLiteral __CreateInstance(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(56)] + internal uint value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CharacterLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CharacterLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CharacterLiteral __CreateInstance(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + *(global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte exact; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(56)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FloatingLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FloatingLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FloatingLiteral __CreateInstance(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + *(global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->exact != 0; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance)->valueAsApproximateDouble; + } + + set + { + ((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImaginaryLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImaginaryLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImaginaryLiteral __CreateInstance(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + *(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C bytes; + + [FieldOffset(112)] + internal uint byteLength; + + [FieldOffset(116)] + internal uint length; + + [FieldOffset(120)] + internal uint charByteWidth; + + [FieldOffset(124)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(128)] + internal byte isAscii; + + [FieldOffset(129)] + internal byte isWide; + + [FieldOffset(130)] + internal byte isUTF8; + + [FieldOffset(131)] + internal byte isUTF16; + + [FieldOffset(132)] + internal byte isUTF32; + + [FieldOffset(133)] + internal byte isPascal; + + [FieldOffset(134)] + internal byte containsNonAscii; + + [FieldOffset(135)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(136)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StringLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StringLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1StringLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StringLiteral __CreateInstance(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StringLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(global::CppSharp.Parser.AST.StringLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StringLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->@string), value); + } + } + + public string Bytes + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->bytes)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->bytes), value); + } + } + + public uint ByteLength + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->byteLength; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->length; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->charByteWidth; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isWide != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF8 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF16 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isUTF32 != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->isPascal != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAscii != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((global::CppSharp.Parser.AST.StringLiteral.__Internal*) __Instance)->numConcatenated; + } + + set + { + ((global::CppSharp.Parser.AST.StringLiteral.__Internal*)__Instance)->numConcatenated = value; + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PredefinedExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PredefinedExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PredefinedExpr __CreateInstance(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + *(global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance)->identKind; + } + + set + { + ((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ParenExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ParenExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenExpr __CreateInstance(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(global::CppSharp.Parser.AST.ParenExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->lParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance)->rParen); + } + + set + { + ((global::CppSharp.Parser.AST.ParenExpr.__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] + internal byte canOverflow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryOperator __CreateInstance(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.UnaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance)->canOverflow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryOperator.__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numComponents; + + [FieldOffset(60)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OffsetOfExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OffsetOfExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OffsetOfExpr __CreateInstance(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + *(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numComponents; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance)->numExpressions; + } + + set + { + ((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(60)] + internal byte isArgumentType; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryExprOrTypeTraitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryExprOrTypeTraitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->isArgumentType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->argumentType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->argumentType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance)->typeOfArgument)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*)__Instance)->typeOfArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArraySubscriptExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArraySubscriptExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArraySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getarguments@CallExpr@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addarguments@CallExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?cleararguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getargumentsCount@CallExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->callee); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->callee = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->numCommas; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->builtinCallee; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((global::CppSharp.Parser.AST.CallExpr.__Internal*) __Instance)->isCallToStdMove != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CallExpr.__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte arrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(64)] + internal byte hadMultipleCandidates; + + [FieldOffset(65)] + internal byte hasQualifier; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(80)] + internal byte hasTemplateKeyword; + + [FieldOffset(81)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(84)] + internal uint numTemplateArgs; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MemberExpr __CreateInstance(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.MemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(global::CppSharp.Parser.AST.MemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->arrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr initializer; + + [FieldOffset(56)] + internal byte fileScope; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundLiteralExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundLiteralExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->initializer); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->initializer = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->fileScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CastExpr __CreateInstance(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(global::CppSharp.Parser.AST.CastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + } + + 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 ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->castKind; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->conversionFunction); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->conversionFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_empty != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance)->path_size; + } + + set + { + ((global::CppSharp.Parser.AST.CastExpr.__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImplicitCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImplicitCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExplicitCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExplicitCastExpr __CreateInstance(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CStyleCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CStyleCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CStyleCastExpr __CreateInstance(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) _0.__Instance); + } + + 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(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcode; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->isFEnvAccessOn != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(56)] + internal global::System.IntPtr lHS; + + [FieldOffset(64)] + internal global::System.IntPtr rHS; + + [FieldOffset(72)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(73)] + internal byte isFEnvAccessOn; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundAssignOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CompoundAssignOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CompoundAssignOperator __CreateInstance(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + *(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationLHSType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationLHSType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*) __Instance)->computationResultType)); + } + + set + { + ((global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal*)__Instance)->computationResultType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AbstractConditionalOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AbstractConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->trueExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->trueExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->falseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->falseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->questionLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance)->colonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr lHS; + + [FieldOffset(88)] + internal global::System.IntPtr rHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConditionalOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConditionalOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr cond; + + [FieldOffset(56)] + internal global::System.IntPtr trueExpr; + + [FieldOffset(64)] + internal global::System.IntPtr falseExpr; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(80)] + internal global::System.IntPtr common; + + [FieldOffset(88)] + internal global::System.IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryConditionalOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryConditionalOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BinaryConditionalOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + *(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->common); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->common = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AddrLabelExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AddrLabelExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AddrLabelExpr __CreateInstance(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + *(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->ampAmpLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance)->labelLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subStmt; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StmtExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StmtExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StmtExpr __CreateInstance(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StmtExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + *(global::CppSharp.Parser.AST.StmtExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(global::CppSharp.Parser.AST.StmtExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StmtExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->subStmt); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->subStmt = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.StmtExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(56)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ShuffleVectorExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ShuffleVectorExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ShuffleVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConvertVectorExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ConvertVectorExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ConvertVectorExpr __CreateInstance(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + *(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte isConditionTrue; + + [FieldOffset(56)] + internal global::System.IntPtr cond; + + [FieldOffset(64)] + internal global::System.IntPtr lHS; + + [FieldOffset(72)] + internal global::System.IntPtr rHS; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] + internal byte isConditionDependent; + + [FieldOffset(96)] + internal global::System.IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ChooseExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ChooseExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ChooseExpr __CreateInstance(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ChooseExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + *(global::CppSharp.Parser.AST.ChooseExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionTrue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->cond); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->cond = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->isConditionDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance)->chosenSubExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ChooseExpr.__Internal*)__Instance)->chosenSubExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GNUNullExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GNUNullExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GNUNullExpr __CreateInstance(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + *(global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance)->tokenLocation); + } + + set + { + ((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal byte isMicrosoftABI; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VAArgExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VAArgExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.VAArgExpr __CreateInstance(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.VAArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.VAArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->isMicrosoftABI != 0; + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.VAArgExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr arrayFiller; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(64)] + internal global::System.IntPtr syntacticForm; + + [FieldOffset(72)] + internal uint numInits; + + [FieldOffset(76)] + internal byte hasArrayFiller; + + [FieldOffset(77)] + internal byte isExplicit; + + [FieldOffset(78)] + internal byte isStringLiteralInit; + + [FieldOffset(79)] + internal byte isTransparent; + + [FieldOffset(80)] + internal byte isSemanticForm; + + [FieldOffset(88)] + internal global::System.IntPtr semanticForm; + + [FieldOffset(96)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0InitListExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0InitListExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.InitListExpr __CreateInstance(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.InitListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + *(global::CppSharp.Parser.AST.InitListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(global::CppSharp.Parser.AST.InitListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InitListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->arrayFiller); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->arrayFiller = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->lBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->rBraceLoc); + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->syntacticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->syntacticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->numInits; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->hasArrayFiller != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isStringLiteralInit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isTransparent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSemanticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->semanticForm); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->semanticForm = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance)->isSyntacticForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.InitListExpr.__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(56)] + internal global::System.IntPtr init; + + [FieldOffset(64)] + internal uint size; + + [FieldOffset(68)] + internal byte usesGNUSyntax; + + [FieldOffset(72)] + internal uint numSubExprs; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr field; + + [FieldOffset(8)] + internal byte isFieldDesignator; + + [FieldOffset(9)] + internal byte isArrayDesignator; + + [FieldOffset(10)] + internal byte isArrayRangeDesignator; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal uint firstExprIndex; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Designator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Designator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.Designator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Designator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.Designator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + global::CppSharp.Parser.AST.Field __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->field); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->field = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isFieldDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->dotLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->fieldLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->lBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->firstExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance)->sourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*)__Instance)->sourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FieldDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FieldDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FieldDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayOrRangeDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayOrRangeDesignator@DesignatedInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->equalOrColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->usesGNUSyntax != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->numSubExprs; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance)->designatorsSourceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*)__Instance)->designatorsSourceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0NoInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0NoInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.NoInitExpr __CreateInstance(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.NoInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.NoInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::System.IntPtr updater; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DesignatedInitUpdateExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DesignatedInitUpdateExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DesignatedInitUpdateExpr __CreateInstance(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + *(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + global::CppSharp.Parser.AST.InitListExpr __result0; + if (((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater)) + __result0 = (global::CppSharp.Parser.AST.InitListExpr) global::CppSharp.Parser.AST.InitListExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater]; + else __result0 = global::CppSharp.Parser.AST.InitListExpr.__CreateInstance(((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance)->updater); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*)__Instance)->updater = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayInitLoopExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayInitLoopExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitLoopExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayInitIndexExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayInitIndexExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayInitIndexExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImplicitValueInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ImplicitValueInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ImplicitValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numExprs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ParenListExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ParenListExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ParenListExpr __CreateInstance(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParenListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + *(global::CppSharp.Parser.AST.ParenListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->numExprs; + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ParenListExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numAssocs; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal byte isResultDependent; + + [FieldOffset(68)] + internal uint resultIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GenericSelectionExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0GenericSelectionExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.GenericSelectionExpr __CreateInstance(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + *(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->numAssocs; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->genericLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->defaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->isResultDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance)->resultIndex; + } + + set + { + ((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*)__Instance)->resultIndex = value; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(60)] + internal uint numElements; + + [FieldOffset(64)] + internal byte containsDuplicateElements; + + [FieldOffset(65)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExtVectorElementExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExtVectorElementExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExtVectorElementExpr __CreateInstance(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->accessorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->containsDuplicateElements != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BlockExpr __CreateInstance(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + *(global::CppSharp.Parser.AST.BlockExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(global::CppSharp.Parser.AST.BlockExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance)->caretLocation); + } + + set + { + ((global::CppSharp.Parser.AST.BlockExpr.__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr srcExpr; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsTypeExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AsTypeExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AsTypeExpr __CreateInstance(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + *(global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->srcExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->srcExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint resultExprIndex; + + [FieldOffset(52)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PseudoObjectExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PseudoObjectExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PseudoObjectExpr __CreateInstance(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + *(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public uint ResultExprIndex + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->resultExprIndex; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->resultExprIndex = value; + } + } + + public uint NumSemanticExprs + { + get + { + return ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance)->numSemanticExprs; + } + + set + { + ((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr ptr; + + [FieldOffset(56)] + internal global::System.IntPtr order; + + [FieldOffset(64)] + internal global::System.IntPtr scope; + + [FieldOffset(72)] + internal global::System.IntPtr val1; + + [FieldOffset(80)] + internal global::System.IntPtr orderFail; + + [FieldOffset(88)] + internal global::System.IntPtr val2; + + [FieldOffset(96)] + internal global::System.IntPtr weak; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(124)] + internal byte isVolatile; + + [FieldOffset(125)] + internal byte isCmpXChg; + + [FieldOffset(126)] + internal byte isOpenCL; + + [FieldOffset(128)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(132)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AtomicExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AtomicExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.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 global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AtomicExpr __CreateInstance(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.AtomicExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + *(global::CppSharp.Parser.AST.AtomicExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->ptr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->ptr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->order); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->order = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->scope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->scope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val1); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val1 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->orderFail); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->orderFail = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2 == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->val2); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->val2 = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->weak); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->weak = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->valueType)); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->valueType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->op; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->op = value; + } + } + + public bool IsVolatile + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isVolatile != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isCmpXChg != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->isOpenCL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->builtinLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.AtomicExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypoExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypoExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypoExpr __CreateInstance(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypoExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypoExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(global::CppSharp.Parser.AST.TypoExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypoExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(108)] + internal byte isInfixBinaryOp; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(116)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXOperatorCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXOperatorCallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXOperatorCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXOperatorCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->_operator = value; + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isInfixBinaryOp != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*) __Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr implicitObjectArgument; + + [FieldOffset(112)] + internal global::System.IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXMemberCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXMemberCallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXMemberCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXMemberCallExpr __CreateInstance(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->implicitObjectArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->implicitObjectArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*) __Instance)->methodDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal*)__Instance)->methodDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::System.IntPtr config; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CUDAKernelCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CUDAKernelCallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CUDAKernelCallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CUDAKernelCallExpr __CreateInstance(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + global::CppSharp.Parser.AST.CallExpr __result0; + if (((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config)) + __result0 = (global::CppSharp.Parser.AST.CallExpr) global::CppSharp.Parser.AST.CallExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config]; + else __result0 = global::CppSharp.Parser.AST.CallExpr.__CreateInstance(((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*) __Instance)->config); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal*)__Instance)->config = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNamedCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNamedCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + } + + 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 Marshal.PtrToStringAnsi(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->castName); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->castName = (global::System.IntPtr) Marshal.StringToHGlobalAnsi(value); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance)->angleBrackets)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*)__Instance)->angleBrackets = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXStaticCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXStaticCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStaticCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(120)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDynamicCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDynamicCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDynamicCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance)->isAlwaysNull != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXReinterpretCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXReinterpretCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXReinterpretCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::System.IntPtr castName; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::System.IntPtr callee; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numArgs; + + [FieldOffset(88)] + internal uint numCommas; + + [FieldOffset(92)] + internal uint builtinCallee; + + [FieldOffset(96)] + internal byte isCallToStdMove; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UserDefinedLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UserDefinedLiteral@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1UserDefinedLiteral@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UserDefinedLiteral __CreateInstance(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->literalOperatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*) __Instance)->uDSuffixLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte value; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXBoolLiteralExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXBoolLiteralExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBoolLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNullPtrLiteralExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNullPtrLiteralExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXStdInitializerListExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXStdInitializerListExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXStdInitializerListExpr __CreateInstance(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(57)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTypeidExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTypeidExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTypeidExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte isImplicitAccess; + + [FieldOffset(56)] + internal global::System.IntPtr baseExpr; + + [FieldOffset(64)] + internal byte isArrow; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSPropertyRefExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSPropertyRefExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertyRefExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->baseExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->baseExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSPropertySubscriptExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MSPropertySubscriptExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MSPropertySubscriptExpr __CreateInstance(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + *(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance)->rBracketLoc); + } + + set + { + ((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr exprOperand; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C uuidStr; + + [FieldOffset(88)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXUuidofExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXUuidofExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXUuidofExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUuidofExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->exprOperand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->exprOperand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->uuidStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*) __Instance)->isTypeOperand != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXThisExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXThisExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThisExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance)->@implicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(52)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXThrowExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXThrowExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXThrowExpr __CreateInstance(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->throwLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance)->isThrownVariableInScope != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDefaultArgExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDefaultArgExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultArgExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance)->usedLocation); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDefaultInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDefaultInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDefaultInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXBindTemporaryExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXBindTemporaryExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXBindTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance)->subExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*)__Instance)->subExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getarguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addarguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?cleararguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getargumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + 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(((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->elidable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->hadMultipleCandidates != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->listInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->stdInitListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->requiresZeroInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->parenOrBraceRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->parenOrBraceRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXConstructExpr.__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte constructsVBase; + + [FieldOffset(49)] + internal byte inheritedFromVBase; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXInheritedCtorInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXInheritedCtorInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->constructsVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->inheritedFromVBase != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(56)] + internal global::System.IntPtr subExpr; + + [FieldOffset(64)] + internal global::System.IntPtr conversionFunction; + + [FieldOffset(72)] + internal byte path_empty; + + [FieldOffset(76)] + internal uint path_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXFunctionalCastExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXFunctionalCastExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFunctionalCastExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(76)] + internal byte elidable; + + [FieldOffset(77)] + internal byte hadMultipleCandidates; + + [FieldOffset(78)] + internal byte listInitialization; + + [FieldOffset(79)] + internal byte stdInitListInitialization; + + [FieldOffset(80)] + internal byte requiresZeroInitialization; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(92)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXTemporaryObjectExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXTemporaryObjectExpr __CreateInstance(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ capture_inits; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(76)] + internal uint capture_size; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(88)] + internal global::System.IntPtr callOperator; + + [FieldOffset(96)] + internal byte isGenericLambda; + + [FieldOffset(104)] + internal global::System.IntPtr body; + + [FieldOffset(112)] + internal byte isMutable; + + [FieldOffset(113)] + internal byte hasExplicitParameters; + + [FieldOffset(114)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LambdaExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0LambdaExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1LambdaExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetcaptureInits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void AddcaptureInits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearcapture_inits@LambdaExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearcaptureInits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getcapture_initsCount@LambdaExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetcaptureInitsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.LambdaExpr __CreateInstance(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.LambdaExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var __ret = __Internal.GetcaptureInits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddcaptureInits((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->captureDefaultLoc); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->capture_size; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->introducerRange)); + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->introducerRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + global::CppSharp.Parser.AST.Method __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->callOperator); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->callOperator = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isGenericLambda != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + global::CppSharp.Parser.AST.CompoundStmt __result0; + if (((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body)) + __result0 = (global::CppSharp.Parser.AST.CompoundStmt) global::CppSharp.Parser.AST.CompoundStmt.NativeToManagedMap[((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body]; + else __result0 = global::CppSharp.Parser.AST.CompoundStmt.__CreateInstance(((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->body); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->body = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->isMutable != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitParameters != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*) __Instance)->hasExplicitResultType != 0; + } + + set + { + ((global::CppSharp.Parser.AST.LambdaExpr.__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var __ret = __Internal.GetcaptureInitsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXScalarValueInitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXScalarValueInitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXScalarValueInitExpr __CreateInstance(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ placement_arguments; + + [FieldOffset(72)] + internal global::System.IntPtr operatorNew; + + [FieldOffset(80)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(104)] + internal byte isArray; + + [FieldOffset(108)] + internal uint numPlacementArgs; + + [FieldOffset(112)] + internal byte isParenTypeId; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(124)] + internal byte isGlobalNew; + + [FieldOffset(125)] + internal byte hasInitializer; + + [FieldOffset(128)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(136)] + internal global::System.IntPtr constructExpr; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNewExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNewExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXNewExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr GetplacementArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void AddplacementArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearplacement_arguments@CXXNewExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearplacementArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getplacement_argumentsCount@CXXNewExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetplacementArgumentsCount(global::System.IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNewExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var __ret = __Internal.GetplacementArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.AddplacementArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->allocatedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->allocatedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isArray != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public uint NumPlacementArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->numPlacementArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isParenTypeId != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->typeIdParens)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->typeIdParens = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->isGlobalNew != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->hasInitializer != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->initializationStyle; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + global::CppSharp.Parser.AST.CXXConstructExpr __result0; + if (((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr)) + __result0 = (global::CppSharp.Parser.AST.CXXConstructExpr) global::CppSharp.Parser.AST.CXXConstructExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr]; + else __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->constructExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->constructExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*) __Instance)->directInitRange)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXNewExpr.__Internal*)__Instance)->directInitRange = ReferenceEquals(value, null) ? new global::CppSharp.Parser.SourceRange.__Internal() : *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var __ret = __Internal.GetplacementArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte isGlobalDelete; + + [FieldOffset(49)] + internal byte isArrayForm; + + [FieldOffset(50)] + internal byte isArrayFormAsWritten; + + [FieldOffset(56)] + internal global::System.IntPtr operatorDelete; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDeleteExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDeleteExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDeleteExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isGlobalDelete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayForm != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->operatorDelete); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->operatorDelete = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr @base; + + [FieldOffset(56)] + internal byte hasQualifier; + + [FieldOffset(57)] + internal byte isArrow; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(68)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(72)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXPseudoDestructorExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXPseudoDestructorExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXPseudoDestructorExpr __CreateInstance(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->hasQualifier != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->colonColonLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->tildeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance)->destroyedTypeLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte value; + + [FieldOffset(52)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypeTraitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypeTraitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance)->numArgs; + } + + set + { + ((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(64)] + internal ulong value; + + [FieldOffset(72)] + internal global::System.IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayTypeTraitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayTypeTraitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ArrayTypeTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->queriedType)); + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->queriedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance)->dimensionExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*)__Instance)->dimensionExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr queriedExpression; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExpressionTraitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExpressionTraitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExpressionTraitExpr __CreateInstance(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + *(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->queriedExpression); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->queriedExpression = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0OverloadExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FindResult@OverloadExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FindResult@OverloadExpr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr.FindResult __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr.FindResult(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FindResult() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.OverloadExpr.FindResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.OverloadExpr __CreateInstance(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.OverloadExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + *(global::CppSharp.Parser.AST.OverloadExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numDecls; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.OverloadExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(80)] + internal byte requiresADL; + + [FieldOffset(81)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnresolvedLookupExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnresolvedLookupExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedLookupExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->requiresADL != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance)->isOverloaded != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(64)] + internal byte hasTemplateKeyword; + + [FieldOffset(65)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(68)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentScopeDeclRefExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentScopeDeclRefExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentScopeDeclRefExpr __CreateInstance(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->location); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr subExpr; + + [FieldOffset(56)] + internal uint numObjects; + + [FieldOffset(60)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExprWithCleanups@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExprWithCleanups@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.ExprWithCleanups __CreateInstance(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + *(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->numObjects; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ arguments; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(96)] + internal byte isListInitialization; + + [FieldOffset(100)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getarguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAAPEAVExpr@234@I@Z")] + internal static extern global::System.IntPtr Getarguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addarguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpr@234@@Z")] + internal static extern void Addarguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?cleararguments@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void Cleararguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getargumentsCount@CXXUnresolvedConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetargumentsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Stmt __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var __ret = __Internal.Getarguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expr __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(__ret); + 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; + __Internal.Addarguments((__Instance + __PointerAdjustment), __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->lParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->typeAsWritten)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->typeAsWritten = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->isListInitialization != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*) __Instance)->arg_size; + } + + set + { + ((global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var __ret = __Internal.GetargumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal byte isImplicitAccess; + + [FieldOffset(56)] + internal global::System.IntPtr @base; + + [FieldOffset(64)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(80)] + internal byte isArrow; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(88)] + internal global::System.IntPtr firstQualifierFoundInScope; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] + internal byte hasTemplateKeyword; + + [FieldOffset(113)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDependentScopeMemberExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXDependentScopeMemberExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr __CreateInstance(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->@base); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->@base = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->firstQualifierFoundInScope); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->firstQualifierFoundInScope = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->templateKeywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->lAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->rAngleLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasTemplateKeyword != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance)->numTemplateArgs; + } + + set + { + ((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal uint numDecls; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(68)] + internal byte hasTemplateKeyword; + + [FieldOffset(69)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(72)] + internal uint numTemplateArgs; + + [FieldOffset(80)] + internal byte isImplicitAccess; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(104)] + internal byte hasUnresolvedUsing; + + [FieldOffset(105)] + internal byte isArrow; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnresolvedMemberExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnresolvedMemberExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnresolvedMemberExpr __CreateInstance(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + *(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isImplicitAccess != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->isArrow != 0; + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance)->memberLoc); + } + + set + { + ((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal byte value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNoexceptExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXNoexceptExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXNoexceptExpr __CreateInstance(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance)->value != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PackExpansionExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PackExpansionExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionExpr __CreateInstance(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + *(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(52)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] + internal global::System.IntPtr pack; + + [FieldOffset(72)] + internal uint packLength; + + [FieldOffset(76)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SizeOfPackExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SizeOfPackExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SizeOfPackExpr __CreateInstance(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->operatorLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->rParenLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->pack); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->pack = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->packLength; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance)->isPartiallySubstituted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(56)] + internal global::System.IntPtr replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SubstNonTypeTemplateParmExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SubstNonTypeTemplateParmExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->nameLoc); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance)->replacement); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(56)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SubstNonTypeTemplateParmPackExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SubstNonTypeTemplateParmPackExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance)->argumentPack)); + } + + set + { + ((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*)__Instance)->argumentPack = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TemplateArgument.__Internal() : *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(52)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionParmPackExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionParmPackExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.FunctionParmPackExpr __CreateInstance(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + *(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->parameterPackLocation); + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance)->numExpansions; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr temporary; + + [FieldOffset(56)] + internal global::System.IntPtr TemporaryExpr; + + [FieldOffset(64)] + internal uint manglingNumber; + + [FieldOffset(68)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExtraState@MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ExtraState@MaterializeTemporaryExpr@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ExtraState() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.MaterializeTemporaryExpr __CreateInstance(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + *(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Stmt __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Stmt.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary)) + __result0 = (global::CppSharp.Parser.AST.Stmt) global::CppSharp.Parser.AST.Stmt.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary]; + else __result0 = global::CppSharp.Parser.AST.Stmt.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->temporary); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->temporary = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->TemporaryExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->TemporaryExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->manglingNumber; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr lHS; + + [FieldOffset(56)] + internal global::System.IntPtr rHS; + + [FieldOffset(64)] + internal byte isRightFold; + + [FieldOffset(65)] + internal byte isLeftFold; + + [FieldOffset(72)] + internal global::System.IntPtr pattern; + + [FieldOffset(80)] + internal global::System.IntPtr init; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXFoldExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXFoldExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CXXFoldExpr __CreateInstance(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->lHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->lHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->rHS); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->rHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isRightFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->isLeftFold != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->pattern); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->pattern = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->init); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->init = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->ellipsisLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance)->_operator; + } + + set + { + ((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QEAA@W4StmtClass@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoroutineSuspendExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoroutineSuspendExpr __CreateInstance(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->commonExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->commonExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + global::CppSharp.Parser.AST.OpaqueValueExpr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue)) + __result0 = (global::CppSharp.Parser.AST.OpaqueValueExpr) global::CppSharp.Parser.AST.OpaqueValueExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue]; + else __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->opaqueValue); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->opaqueValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->readyExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->readyExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->suspendExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->suspendExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance)->resumeExpr); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*)__Instance)->resumeExpr = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal byte isImplicit; + + [FieldOffset(104)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoawaitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoawaitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->isImplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::System.IntPtr operand; + + [FieldOffset(56)] + internal global::System.IntPtr operatorCoawaitLookup; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentCoawaitExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentCoawaitExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentCoawaitExpr __CreateInstance(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + *(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + global::CppSharp.Parser.AST.UnresolvedLookupExpr __result0; + if (((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup)) + __result0 = (global::CppSharp.Parser.AST.UnresolvedLookupExpr) global::CppSharp.Parser.AST.UnresolvedLookupExpr.NativeToManagedMap[((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup]; + else __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->operatorCoawaitLookup); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->operatorCoawaitLookup = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance)->keywordLoc); + } + + set + { + ((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(32)] + internal byte valueDependent; + + [FieldOffset(33)] + internal byte typeDependent; + + [FieldOffset(34)] + internal byte instantiationDependent; + + [FieldOffset(35)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(40)] + internal byte isLValue; + + [FieldOffset(41)] + internal byte isRValue; + + [FieldOffset(42)] + internal byte isXValue; + + [FieldOffset(43)] + internal byte isGLValue; + + [FieldOffset(44)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(56)] + internal global::System.IntPtr commonExpr; + + [FieldOffset(64)] + internal global::System.IntPtr opaqueValue; + + [FieldOffset(72)] + internal global::System.IntPtr readyExpr; + + [FieldOffset(80)] + internal global::System.IntPtr suspendExpr; + + [FieldOffset(88)] + internal global::System.IntPtr resumeExpr; + + [FieldOffset(96)] + internal global::System.IntPtr operand; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoyieldExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CoyieldExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.CoyieldExpr __CreateInstance(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + *(global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__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 + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance)->operand); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*)__Instance)->operand = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs index 868daca9..5f7d22d9 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs @@ -321,6 +321,20 @@ namespace Std internal global::Std.VectorVal.__Internal _Myval2; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + { + [FieldOffset(0)] + internal global::Std.VectorVal.__Internal _Myval2; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + { + [FieldOffset(0)] + internal global::Std.VectorVal.__Internal _Myval2; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 { @@ -850,6 +864,20 @@ namespace Std internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_ + { + [FieldOffset(0)] + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + } + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ {