From 068627e2f2b692f0e68d198df64338fb7ab7e8e1 Mon Sep 17 00:00:00 2001 From: triton Date: Mon, 23 Sep 2013 19:40:48 +0100 Subject: [PATCH] Added C# and C++/CLI bindings to the new parser APIs. --- src/CppParser/Bindings/CLI/AST.cpp | 2691 ++++++++++ src/CppParser/Bindings/CLI/AST.h | 1579 ++++++ src/CppParser/Bindings/CLI/CppParser.cpp | 396 ++ src/CppParser/Bindings/CLI/CppParser.h | 231 + src/CppParser/Bindings/CSharp/AST.cs | 5355 ++++++++++++++++++++ src/CppParser/Bindings/CSharp/CppParser.cs | 675 +++ 6 files changed, 10927 insertions(+) create mode 100644 src/CppParser/Bindings/CLI/AST.cpp create mode 100644 src/CppParser/Bindings/CLI/AST.h create mode 100644 src/CppParser/Bindings/CLI/CppParser.cpp create mode 100644 src/CppParser/Bindings/CLI/CppParser.h create mode 100644 src/CppParser/Bindings/CSharp/AST.cs create mode 100644 src/CppParser/Bindings/CSharp/CppParser.cs diff --git a/src/CppParser/Bindings/CLI/AST.cpp b/src/CppParser/Bindings/CLI/AST.cpp new file mode 100644 index 00000000..36927cd8 --- /dev/null +++ b/src/CppParser/Bindings/CLI/AST.cpp @@ -0,0 +1,2691 @@ +#include "AST.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::Type::Type(::CppSharp::CppParser::Type* native) +{ + NativePtr = native; +} + +CppSharp::Parser::Type::Type(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::Type*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::Type::Type() +{ + NativePtr = new ::CppSharp::CppParser::Type(); +} + +System::IntPtr CppSharp::Parser::Type::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::Type::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::Type*)object.ToPointer(); +} +CppSharp::Parser::TypeQualifiers::TypeQualifiers(::CppSharp::CppParser::TypeQualifiers* native) +{ + NativePtr = native; +} + +CppSharp::Parser::TypeQualifiers::TypeQualifiers(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::TypeQualifiers*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::TypeQualifiers::TypeQualifiers() +{ + NativePtr = new ::CppSharp::CppParser::TypeQualifiers(); +} + +System::IntPtr CppSharp::Parser::TypeQualifiers::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::TypeQualifiers::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::TypeQualifiers*)object.ToPointer(); +} + +bool CppSharp::Parser::TypeQualifiers::IsConst::get() +{ + return ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsConst; +} + +void CppSharp::Parser::TypeQualifiers::IsConst::set(bool value) +{ + ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsConst = value; +} + +bool CppSharp::Parser::TypeQualifiers::IsVolatile::get() +{ + return ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsVolatile; +} + +void CppSharp::Parser::TypeQualifiers::IsVolatile::set(bool value) +{ + ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsVolatile = value; +} + +bool CppSharp::Parser::TypeQualifiers::IsRestrict::get() +{ + return ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsRestrict; +} + +void CppSharp::Parser::TypeQualifiers::IsRestrict::set(bool value) +{ + ((::CppSharp::CppParser::TypeQualifiers*)NativePtr)->IsRestrict = value; +} + +CppSharp::Parser::QualifiedType::QualifiedType(::CppSharp::CppParser::QualifiedType* native) +{ + NativePtr = native; +} + +CppSharp::Parser::QualifiedType::QualifiedType(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::QualifiedType*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::QualifiedType::QualifiedType() +{ + NativePtr = new ::CppSharp::CppParser::QualifiedType(); +} + +System::IntPtr CppSharp::Parser::QualifiedType::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::QualifiedType::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::QualifiedType*)object.ToPointer(); +} + +CppSharp::Parser::Type^ CppSharp::Parser::QualifiedType::Type::get() +{ + return gcnew CppSharp::Parser::Type((::CppSharp::CppParser::Type*)((::CppSharp::CppParser::QualifiedType*)NativePtr)->Type); +} + +void CppSharp::Parser::QualifiedType::Type::set(CppSharp::Parser::Type^ value) +{ + ((::CppSharp::CppParser::QualifiedType*)NativePtr)->Type = (::CppSharp::CppParser::Type*)value->NativePtr; +} + +CppSharp::Parser::TypeQualifiers^ CppSharp::Parser::QualifiedType::Qualifiers::get() +{ + return gcnew CppSharp::Parser::TypeQualifiers((::CppSharp::CppParser::TypeQualifiers*)&((::CppSharp::CppParser::QualifiedType*)NativePtr)->Qualifiers); +} + +void CppSharp::Parser::QualifiedType::Qualifiers::set(CppSharp::Parser::TypeQualifiers^ value) +{ + ((::CppSharp::CppParser::QualifiedType*)NativePtr)->Qualifiers = *(::CppSharp::CppParser::TypeQualifiers*)value->NativePtr; +} + +CppSharp::Parser::TagType::TagType(::CppSharp::CppParser::TagType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::TagType::TagType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::TagType*)native.ToPointer(); +} + +CppSharp::Parser::TagType::TagType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TagType(); +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::TagType::Declaration::get() +{ + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)((::CppSharp::CppParser::TagType*)NativePtr)->Declaration); +} + +void CppSharp::Parser::TagType::Declaration::set(CppSharp::Parser::Declaration^ value) +{ + ((::CppSharp::CppParser::TagType*)NativePtr)->Declaration = (::CppSharp::CppParser::Declaration*)value->NativePtr; +} + +CppSharp::Parser::ArrayType::ArrayType(::CppSharp::CppParser::ArrayType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::ArrayType::ArrayType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::ArrayType*)native.ToPointer(); +} + +CppSharp::Parser::ArrayType::ArrayType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::ArrayType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::ArrayType::QualifiedType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::ArrayType*)NativePtr)->QualifiedType); +} + +void CppSharp::Parser::ArrayType::QualifiedType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::ArrayType*)NativePtr)->QualifiedType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::ArrayType::ArraySize CppSharp::Parser::ArrayType::SizeType::get() +{ + return (CppSharp::Parser::ArrayType::ArraySize)((::CppSharp::CppParser::ArrayType*)NativePtr)->SizeType; +} + +void CppSharp::Parser::ArrayType::SizeType::set(CppSharp::Parser::ArrayType::ArraySize value) +{ + ((::CppSharp::CppParser::ArrayType*)NativePtr)->SizeType = (::CppSharp::CppParser::ArrayType::ArraySize)value; +} + +int CppSharp::Parser::ArrayType::Size::get() +{ + return ((::CppSharp::CppParser::ArrayType*)NativePtr)->Size; +} + +void CppSharp::Parser::ArrayType::Size::set(int value) +{ + ((::CppSharp::CppParser::ArrayType*)NativePtr)->Size = value; +} + +CppSharp::Parser::FunctionType::FunctionType(::CppSharp::CppParser::FunctionType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::FunctionType::FunctionType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::FunctionType*)native.ToPointer(); +} + +CppSharp::Parser::FunctionType::FunctionType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::FunctionType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::FunctionType::ReturnType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::FunctionType*)NativePtr)->ReturnType); +} + +void CppSharp::Parser::FunctionType::ReturnType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::FunctionType*)NativePtr)->ReturnType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::FunctionType::Parameters::get() +{ + auto _tmpParameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::FunctionType*)NativePtr)->Parameters) + { + auto _marshalElement = gcnew CppSharp::Parser::Parameter((::CppSharp::CppParser::Parameter*)_element); + _tmpParameters->Add(_marshalElement); + } + return _tmpParameters; +} + +void CppSharp::Parser::FunctionType::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Parameter*>(); + for each(CppSharp::Parser::Parameter^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Parameter*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::FunctionType*)NativePtr)->Parameters = _tmpvalue; +} + +CppSharp::Parser::CallingConvention CppSharp::Parser::FunctionType::CallingConvention::get() +{ + return (CppSharp::Parser::CallingConvention)((::CppSharp::CppParser::FunctionType*)NativePtr)->CallingConvention; +} + +void CppSharp::Parser::FunctionType::CallingConvention::set(CppSharp::Parser::CallingConvention value) +{ + ((::CppSharp::CppParser::FunctionType*)NativePtr)->CallingConvention = (::CppSharp::CppParser::CallingConvention)value; +} + +CppSharp::Parser::PointerType::PointerType(::CppSharp::CppParser::PointerType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::PointerType::PointerType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::PointerType*)native.ToPointer(); +} + +CppSharp::Parser::PointerType::PointerType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::PointerType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::PointerType::QualifiedPointee::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::PointerType*)NativePtr)->QualifiedPointee); +} + +void CppSharp::Parser::PointerType::QualifiedPointee::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::PointerType*)NativePtr)->QualifiedPointee = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::PointerType::TypeModifier CppSharp::Parser::PointerType::Modifier::get() +{ + return (CppSharp::Parser::PointerType::TypeModifier)((::CppSharp::CppParser::PointerType*)NativePtr)->Modifier; +} + +void CppSharp::Parser::PointerType::Modifier::set(CppSharp::Parser::PointerType::TypeModifier value) +{ + ((::CppSharp::CppParser::PointerType*)NativePtr)->Modifier = (::CppSharp::CppParser::PointerType::TypeModifier)value; +} + +CppSharp::Parser::MemberPointerType::MemberPointerType(::CppSharp::CppParser::MemberPointerType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::MemberPointerType::MemberPointerType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::MemberPointerType*)native.ToPointer(); +} + +CppSharp::Parser::MemberPointerType::MemberPointerType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::MemberPointerType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::MemberPointerType::Pointee::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::MemberPointerType*)NativePtr)->Pointee); +} + +void CppSharp::Parser::MemberPointerType::Pointee::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::MemberPointerType*)NativePtr)->Pointee = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::TypedefType::TypedefType(::CppSharp::CppParser::TypedefType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::TypedefType::TypedefType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::TypedefType*)native.ToPointer(); +} + +CppSharp::Parser::TypedefType::TypedefType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TypedefType(); +} + +CppSharp::Parser::TypedefDecl^ CppSharp::Parser::TypedefType::Declaration::get() +{ + return gcnew CppSharp::Parser::TypedefDecl((::CppSharp::CppParser::TypedefDecl*)((::CppSharp::CppParser::TypedefType*)NativePtr)->Declaration); +} + +void CppSharp::Parser::TypedefType::Declaration::set(CppSharp::Parser::TypedefDecl^ value) +{ + ((::CppSharp::CppParser::TypedefType*)NativePtr)->Declaration = (::CppSharp::CppParser::TypedefDecl*)value->NativePtr; +} + +CppSharp::Parser::DecayedType::DecayedType(::CppSharp::CppParser::DecayedType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::DecayedType::DecayedType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::DecayedType*)native.ToPointer(); +} + +CppSharp::Parser::DecayedType::DecayedType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::DecayedType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::DecayedType::Decayed::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::DecayedType*)NativePtr)->Decayed); +} + +void CppSharp::Parser::DecayedType::Decayed::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::DecayedType*)NativePtr)->Decayed = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::DecayedType::Original::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::DecayedType*)NativePtr)->Original); +} + +void CppSharp::Parser::DecayedType::Original::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::DecayedType*)NativePtr)->Original = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::DecayedType::Pointee::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::DecayedType*)NativePtr)->Pointee); +} + +void CppSharp::Parser::DecayedType::Pointee::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::DecayedType*)NativePtr)->Pointee = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::TemplateArgument::TemplateArgument(::CppSharp::CppParser::TemplateArgument* native) +{ + NativePtr = native; +} + +CppSharp::Parser::TemplateArgument::TemplateArgument(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::TemplateArgument*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::TemplateArgument::TemplateArgument() +{ + NativePtr = new ::CppSharp::CppParser::TemplateArgument(); +} + +System::IntPtr CppSharp::Parser::TemplateArgument::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::TemplateArgument::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::TemplateArgument*)object.ToPointer(); +} + +CppSharp::Parser::TemplateArgument::ArgumentKind CppSharp::Parser::TemplateArgument::Kind::get() +{ + return (CppSharp::Parser::TemplateArgument::ArgumentKind)((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Kind; +} + +void CppSharp::Parser::TemplateArgument::Kind::set(CppSharp::Parser::TemplateArgument::ArgumentKind value) +{ + ((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Kind = (::CppSharp::CppParser::TemplateArgument::ArgumentKind)value; +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::TemplateArgument::Type::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Type); +} + +void CppSharp::Parser::TemplateArgument::Type::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Type = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::TemplateArgument::Declaration::get() +{ + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Declaration); +} + +void CppSharp::Parser::TemplateArgument::Declaration::set(CppSharp::Parser::Declaration^ value) +{ + ((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Declaration = (::CppSharp::CppParser::Declaration*)value->NativePtr; +} + +int CppSharp::Parser::TemplateArgument::Integral::get() +{ + return ((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Integral; +} + +void CppSharp::Parser::TemplateArgument::Integral::set(int value) +{ + ((::CppSharp::CppParser::TemplateArgument*)NativePtr)->Integral = value; +} + +CppSharp::Parser::TemplateSpecializationType::TemplateSpecializationType(::CppSharp::CppParser::TemplateSpecializationType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::TemplateSpecializationType::TemplateSpecializationType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::TemplateSpecializationType*)native.ToPointer(); +} + +CppSharp::Parser::TemplateSpecializationType::TemplateSpecializationType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TemplateSpecializationType(); +} + +System::Collections::Generic::List^ CppSharp::Parser::TemplateSpecializationType::Arguments::get() +{ + auto _tmpArguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::TemplateArgument(_element); + auto _marshalElement = gcnew CppSharp::Parser::TemplateArgument((::CppSharp::CppParser::TemplateArgument*)___element); + _tmpArguments->Add(_marshalElement); + } + return _tmpArguments; +} + +void CppSharp::Parser::TemplateSpecializationType::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::TemplateArgument>(); + for each(CppSharp::Parser::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::Template^ CppSharp::Parser::TemplateSpecializationType::Template::get() +{ + return gcnew CppSharp::Parser::Template((::CppSharp::CppParser::Template*)((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Template); +} + +void CppSharp::Parser::TemplateSpecializationType::Template::set(CppSharp::Parser::Template^ value) +{ + ((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Template = (::CppSharp::CppParser::Template*)value->NativePtr; +} + +CppSharp::Parser::Type^ CppSharp::Parser::TemplateSpecializationType::Desugared::get() +{ + return gcnew CppSharp::Parser::Type((::CppSharp::CppParser::Type*)((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Desugared); +} + +void CppSharp::Parser::TemplateSpecializationType::Desugared::set(CppSharp::Parser::Type^ value) +{ + ((::CppSharp::CppParser::TemplateSpecializationType*)NativePtr)->Desugared = (::CppSharp::CppParser::Type*)value->NativePtr; +} + +CppSharp::Parser::TemplateParameter::TemplateParameter(::CppSharp::CppParser::TemplateParameter* native) +{ + NativePtr = native; +} + +CppSharp::Parser::TemplateParameter::TemplateParameter(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::TemplateParameter*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::TemplateParameter::TemplateParameter() +{ + NativePtr = new ::CppSharp::CppParser::TemplateParameter(); +} + +System::IntPtr CppSharp::Parser::TemplateParameter::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::TemplateParameter::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::TemplateParameter*)object.ToPointer(); +} + +System::String^ CppSharp::Parser::TemplateParameter::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::TemplateParameter*)NativePtr)->Name); +} + +void CppSharp::Parser::TemplateParameter::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::TemplateParameter*)NativePtr)->Name = clix::marshalString(value); +} + +CppSharp::Parser::TemplateParameterType::TemplateParameterType(::CppSharp::CppParser::TemplateParameterType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::TemplateParameterType::TemplateParameterType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::TemplateParameterType*)native.ToPointer(); +} + +CppSharp::Parser::TemplateParameterType::TemplateParameterType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TemplateParameterType(); +} + +CppSharp::Parser::TemplateParameter^ CppSharp::Parser::TemplateParameterType::Parameter::get() +{ + return gcnew CppSharp::Parser::TemplateParameter((::CppSharp::CppParser::TemplateParameter*)&((::CppSharp::CppParser::TemplateParameterType*)NativePtr)->Parameter); +} + +void CppSharp::Parser::TemplateParameterType::Parameter::set(CppSharp::Parser::TemplateParameter^ value) +{ + ((::CppSharp::CppParser::TemplateParameterType*)NativePtr)->Parameter = *(::CppSharp::CppParser::TemplateParameter*)value->NativePtr; +} + +CppSharp::Parser::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(::CppSharp::CppParser::TemplateParameterSubstitutionType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::TemplateParameterSubstitutionType*)native.ToPointer(); +} + +CppSharp::Parser::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TemplateParameterSubstitutionType(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::TemplateParameterSubstitutionType::Replacement::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::TemplateParameterSubstitutionType*)NativePtr)->Replacement); +} + +void CppSharp::Parser::TemplateParameterSubstitutionType::Replacement::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::TemplateParameterSubstitutionType*)NativePtr)->Replacement = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::InjectedClassNameType::InjectedClassNameType(::CppSharp::CppParser::InjectedClassNameType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::InjectedClassNameType::InjectedClassNameType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::InjectedClassNameType*)native.ToPointer(); +} + +CppSharp::Parser::InjectedClassNameType::InjectedClassNameType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::InjectedClassNameType(); +} + +CppSharp::Parser::TemplateSpecializationType^ CppSharp::Parser::InjectedClassNameType::TemplateSpecialization::get() +{ + return gcnew CppSharp::Parser::TemplateSpecializationType((::CppSharp::CppParser::TemplateSpecializationType*)&((::CppSharp::CppParser::InjectedClassNameType*)NativePtr)->TemplateSpecialization); +} + +void CppSharp::Parser::InjectedClassNameType::TemplateSpecialization::set(CppSharp::Parser::TemplateSpecializationType^ value) +{ + ((::CppSharp::CppParser::InjectedClassNameType*)NativePtr)->TemplateSpecialization = *(::CppSharp::CppParser::TemplateSpecializationType*)value->NativePtr; +} + +CppSharp::Parser::Class^ CppSharp::Parser::InjectedClassNameType::Class::get() +{ + return gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)((::CppSharp::CppParser::InjectedClassNameType*)NativePtr)->Class); +} + +void CppSharp::Parser::InjectedClassNameType::Class::set(CppSharp::Parser::Class^ value) +{ + ((::CppSharp::CppParser::InjectedClassNameType*)NativePtr)->Class = (::CppSharp::CppParser::Class*)value->NativePtr; +} + +CppSharp::Parser::DependentNameType::DependentNameType(::CppSharp::CppParser::DependentNameType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::DependentNameType::DependentNameType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::DependentNameType*)native.ToPointer(); +} + +CppSharp::Parser::DependentNameType::DependentNameType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::DependentNameType(); +} + +CppSharp::Parser::BuiltinType::BuiltinType(::CppSharp::CppParser::BuiltinType* native) + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)native) +{ +} + +CppSharp::Parser::BuiltinType::BuiltinType(System::IntPtr native) + : CppSharp::Parser::Type(native) +{ + auto __native = (::CppSharp::CppParser::BuiltinType*)native.ToPointer(); +} + +CppSharp::Parser::BuiltinType::BuiltinType() + : CppSharp::Parser::Type((::CppSharp::CppParser::Type*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::BuiltinType(); +} + +CppSharp::Parser::PrimitiveType CppSharp::Parser::BuiltinType::Type::get() +{ + return (CppSharp::Parser::PrimitiveType)((::CppSharp::CppParser::BuiltinType*)NativePtr)->Type; +} + +void CppSharp::Parser::BuiltinType::Type::set(CppSharp::Parser::PrimitiveType value) +{ + ((::CppSharp::CppParser::BuiltinType*)NativePtr)->Type = (::CppSharp::CppParser::PrimitiveType)value; +} + +CppSharp::Parser::RawComment::RawComment(::CppSharp::CppParser::RawComment* native) +{ + NativePtr = native; +} + +CppSharp::Parser::RawComment::RawComment(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::RawComment*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::RawComment::RawComment() +{ + NativePtr = new ::CppSharp::CppParser::RawComment(); +} + +System::IntPtr CppSharp::Parser::RawComment::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::RawComment::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::RawComment*)object.ToPointer(); +} + +CppSharp::Parser::RawCommentKind CppSharp::Parser::RawComment::Kind::get() +{ + return (CppSharp::Parser::RawCommentKind)((::CppSharp::CppParser::RawComment*)NativePtr)->Kind; +} + +void CppSharp::Parser::RawComment::Kind::set(CppSharp::Parser::RawCommentKind value) +{ + ((::CppSharp::CppParser::RawComment*)NativePtr)->Kind = (::CppSharp::CppParser::RawCommentKind)value; +} + +System::String^ CppSharp::Parser::RawComment::Text::get() +{ + return clix::marshalString(((::CppSharp::CppParser::RawComment*)NativePtr)->Text); +} + +void CppSharp::Parser::RawComment::Text::set(System::String^ value) +{ + ((::CppSharp::CppParser::RawComment*)NativePtr)->Text = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::RawComment::BriefText::get() +{ + return clix::marshalString(((::CppSharp::CppParser::RawComment*)NativePtr)->BriefText); +} + +void CppSharp::Parser::RawComment::BriefText::set(System::String^ value) +{ + ((::CppSharp::CppParser::RawComment*)NativePtr)->BriefText = clix::marshalString(value); +} + +CppSharp::Parser::VTableComponent::VTableComponent(::CppSharp::CppParser::VTableComponent* native) +{ + NativePtr = native; +} + +CppSharp::Parser::VTableComponent::VTableComponent(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::VTableComponent*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::VTableComponent::VTableComponent() +{ + NativePtr = new ::CppSharp::CppParser::VTableComponent(); +} + +System::IntPtr CppSharp::Parser::VTableComponent::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::VTableComponent::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::VTableComponent*)object.ToPointer(); +} + +CppSharp::Parser::VTableComponentKind CppSharp::Parser::VTableComponent::Kind::get() +{ + return (CppSharp::Parser::VTableComponentKind)((::CppSharp::CppParser::VTableComponent*)NativePtr)->Kind; +} + +void CppSharp::Parser::VTableComponent::Kind::set(CppSharp::Parser::VTableComponentKind value) +{ + ((::CppSharp::CppParser::VTableComponent*)NativePtr)->Kind = (::CppSharp::CppParser::VTableComponentKind)value; +} + +unsigned int CppSharp::Parser::VTableComponent::Offset::get() +{ + return ((::CppSharp::CppParser::VTableComponent*)NativePtr)->Offset; +} + +void CppSharp::Parser::VTableComponent::Offset::set(unsigned int value) +{ + ((::CppSharp::CppParser::VTableComponent*)NativePtr)->Offset = value; +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::VTableComponent::Declaration::get() +{ + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)((::CppSharp::CppParser::VTableComponent*)NativePtr)->Declaration); +} + +void CppSharp::Parser::VTableComponent::Declaration::set(CppSharp::Parser::Declaration^ value) +{ + ((::CppSharp::CppParser::VTableComponent*)NativePtr)->Declaration = (::CppSharp::CppParser::Declaration*)value->NativePtr; +} + +CppSharp::Parser::VTableLayout::VTableLayout(::CppSharp::CppParser::VTableLayout* native) +{ + NativePtr = native; +} + +CppSharp::Parser::VTableLayout::VTableLayout(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::VTableLayout*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::VTableLayout::VTableLayout() +{ + NativePtr = new ::CppSharp::CppParser::VTableLayout(); +} + +System::IntPtr CppSharp::Parser::VTableLayout::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::VTableLayout::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::VTableLayout*)object.ToPointer(); +} + +System::Collections::Generic::List^ CppSharp::Parser::VTableLayout::Components::get() +{ + auto _tmpComponents = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::VTableLayout*)NativePtr)->Components) + { + auto ___element = new ::CppSharp::CppParser::VTableComponent(_element); + auto _marshalElement = gcnew CppSharp::Parser::VTableComponent((::CppSharp::CppParser::VTableComponent*)___element); + _tmpComponents->Add(_marshalElement); + } + return _tmpComponents; +} + +void CppSharp::Parser::VTableLayout::Components::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::VTableComponent>(); + for each(CppSharp::Parser::VTableComponent^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::VTableComponent*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::VTableLayout*)NativePtr)->Components = _tmpvalue; +} + +CppSharp::Parser::VFTableInfo::VFTableInfo(::CppSharp::CppParser::VFTableInfo* native) +{ + NativePtr = native; +} + +CppSharp::Parser::VFTableInfo::VFTableInfo(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::VFTableInfo*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::VFTableInfo::VFTableInfo() +{ + NativePtr = new ::CppSharp::CppParser::VFTableInfo(); +} + +System::IntPtr CppSharp::Parser::VFTableInfo::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::VFTableInfo::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::VFTableInfo*)object.ToPointer(); +} + +unsigned long long CppSharp::Parser::VFTableInfo::VBTableIndex::get() +{ + return ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VBTableIndex; +} + +void CppSharp::Parser::VFTableInfo::VBTableIndex::set(unsigned long long value) +{ + ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VBTableIndex = (::uint64_t)value; +} + +unsigned int CppSharp::Parser::VFTableInfo::VFPtrOffset::get() +{ + return ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VFPtrOffset; +} + +void CppSharp::Parser::VFTableInfo::VFPtrOffset::set(unsigned int value) +{ + ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VFPtrOffset = (::uint32_t)value; +} + +unsigned int CppSharp::Parser::VFTableInfo::VFPtrFullOffset::get() +{ + return ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VFPtrFullOffset; +} + +void CppSharp::Parser::VFTableInfo::VFPtrFullOffset::set(unsigned int value) +{ + ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->VFPtrFullOffset = (::uint32_t)value; +} + +CppSharp::Parser::VTableLayout^ CppSharp::Parser::VFTableInfo::Layout::get() +{ + return gcnew CppSharp::Parser::VTableLayout((::CppSharp::CppParser::VTableLayout*)&((::CppSharp::CppParser::VFTableInfo*)NativePtr)->Layout); +} + +void CppSharp::Parser::VFTableInfo::Layout::set(CppSharp::Parser::VTableLayout^ value) +{ + ((::CppSharp::CppParser::VFTableInfo*)NativePtr)->Layout = *(::CppSharp::CppParser::VTableLayout*)value->NativePtr; +} + +CppSharp::Parser::ClassLayout::ClassLayout(::CppSharp::CppParser::ClassLayout* native) +{ + NativePtr = native; +} + +CppSharp::Parser::ClassLayout::ClassLayout(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::ClassLayout*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::ClassLayout::ClassLayout() +{ + NativePtr = new ::CppSharp::CppParser::ClassLayout(); +} + +System::IntPtr CppSharp::Parser::ClassLayout::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::ClassLayout::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::ClassLayout*)object.ToPointer(); +} + +CppSharp::Parser::CppAbi CppSharp::Parser::ClassLayout::ABI::get() +{ + return (CppSharp::Parser::CppAbi)((::CppSharp::CppParser::ClassLayout*)NativePtr)->ABI; +} + +void CppSharp::Parser::ClassLayout::ABI::set(CppSharp::Parser::CppAbi value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->ABI = (::CppSharp::CppParser::CppAbi)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::ClassLayout::VFTables::get() +{ + auto _tmpVFTables = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ClassLayout*)NativePtr)->VFTables) + { + auto ___element = new ::CppSharp::CppParser::VFTableInfo(_element); + auto _marshalElement = gcnew CppSharp::Parser::VFTableInfo((::CppSharp::CppParser::VFTableInfo*)___element); + _tmpVFTables->Add(_marshalElement); + } + return _tmpVFTables; +} + +void CppSharp::Parser::ClassLayout::VFTables::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::VFTableInfo>(); + for each(CppSharp::Parser::VFTableInfo^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::VFTableInfo*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->VFTables = _tmpvalue; +} + +CppSharp::Parser::VTableLayout^ CppSharp::Parser::ClassLayout::Layout::get() +{ + return gcnew CppSharp::Parser::VTableLayout((::CppSharp::CppParser::VTableLayout*)&((::CppSharp::CppParser::ClassLayout*)NativePtr)->Layout); +} + +void CppSharp::Parser::ClassLayout::Layout::set(CppSharp::Parser::VTableLayout^ value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->Layout = *(::CppSharp::CppParser::VTableLayout*)value->NativePtr; +} + +bool CppSharp::Parser::ClassLayout::HasOwnVFPtr::get() +{ + return ((::CppSharp::CppParser::ClassLayout*)NativePtr)->HasOwnVFPtr; +} + +void CppSharp::Parser::ClassLayout::HasOwnVFPtr::set(bool value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->HasOwnVFPtr = value; +} + +int CppSharp::Parser::ClassLayout::VBPtrOffset::get() +{ + return ((::CppSharp::CppParser::ClassLayout*)NativePtr)->VBPtrOffset; +} + +void CppSharp::Parser::ClassLayout::VBPtrOffset::set(int value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->VBPtrOffset = value; +} + +int CppSharp::Parser::ClassLayout::Alignment::get() +{ + return ((::CppSharp::CppParser::ClassLayout*)NativePtr)->Alignment; +} + +void CppSharp::Parser::ClassLayout::Alignment::set(int value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->Alignment = value; +} + +int CppSharp::Parser::ClassLayout::Size::get() +{ + return ((::CppSharp::CppParser::ClassLayout*)NativePtr)->Size; +} + +void CppSharp::Parser::ClassLayout::Size::set(int value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->Size = value; +} + +int CppSharp::Parser::ClassLayout::DataSize::get() +{ + return ((::CppSharp::CppParser::ClassLayout*)NativePtr)->DataSize; +} + +void CppSharp::Parser::ClassLayout::DataSize::set(int value) +{ + ((::CppSharp::CppParser::ClassLayout*)NativePtr)->DataSize = value; +} + +CppSharp::Parser::Declaration::Declaration(::CppSharp::CppParser::Declaration* native) +{ + NativePtr = native; +} + +CppSharp::Parser::Declaration::Declaration(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::Declaration*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::Declaration::Declaration() +{ + NativePtr = new ::CppSharp::CppParser::Declaration(); +} + +System::IntPtr CppSharp::Parser::Declaration::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::Declaration::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::Declaration*)object.ToPointer(); +} + +CppSharp::Parser::AccessSpecifier CppSharp::Parser::Declaration::Access::get() +{ + return (CppSharp::Parser::AccessSpecifier)((::CppSharp::CppParser::Declaration*)NativePtr)->Access; +} + +void CppSharp::Parser::Declaration::Access::set(CppSharp::Parser::AccessSpecifier value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->Access = (::CppSharp::CppParser::AccessSpecifier)value; +} + +CppSharp::Parser::DeclarationContext^ CppSharp::Parser::Declaration::_Namespace::get() +{ + return gcnew CppSharp::Parser::DeclarationContext((::CppSharp::CppParser::DeclarationContext*)((::CppSharp::CppParser::Declaration*)NativePtr)->_Namespace); +} + +void CppSharp::Parser::Declaration::_Namespace::set(CppSharp::Parser::DeclarationContext^ value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->_Namespace = (::CppSharp::CppParser::DeclarationContext*)value->NativePtr; +} + +System::String^ CppSharp::Parser::Declaration::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Declaration*)NativePtr)->Name); +} + +void CppSharp::Parser::Declaration::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->Name = clix::marshalString(value); +} + +CppSharp::Parser::RawComment^ CppSharp::Parser::Declaration::Comment::get() +{ + return gcnew CppSharp::Parser::RawComment((::CppSharp::CppParser::RawComment*)((::CppSharp::CppParser::Declaration*)NativePtr)->Comment); +} + +void CppSharp::Parser::Declaration::Comment::set(CppSharp::Parser::RawComment^ value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->Comment = (::CppSharp::CppParser::RawComment*)value->NativePtr; +} + +System::String^ CppSharp::Parser::Declaration::DebugText::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Declaration*)NativePtr)->DebugText); +} + +void CppSharp::Parser::Declaration::DebugText::set(System::String^ value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->DebugText = clix::marshalString(value); +} + +bool CppSharp::Parser::Declaration::IsIncomplete::get() +{ + return ((::CppSharp::CppParser::Declaration*)NativePtr)->IsIncomplete; +} + +void CppSharp::Parser::Declaration::IsIncomplete::set(bool value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->IsIncomplete = value; +} + +bool CppSharp::Parser::Declaration::IsDependent::get() +{ + return ((::CppSharp::CppParser::Declaration*)NativePtr)->IsDependent; +} + +void CppSharp::Parser::Declaration::IsDependent::set(bool value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->IsDependent = value; +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::Declaration::CompleteDeclaration::get() +{ + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)((::CppSharp::CppParser::Declaration*)NativePtr)->CompleteDeclaration); +} + +void CppSharp::Parser::Declaration::CompleteDeclaration::set(CppSharp::Parser::Declaration^ value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->CompleteDeclaration = (::CppSharp::CppParser::Declaration*)value->NativePtr; +} + +unsigned int CppSharp::Parser::Declaration::DefinitionOrder::get() +{ + return ((::CppSharp::CppParser::Declaration*)NativePtr)->DefinitionOrder; +} + +void CppSharp::Parser::Declaration::DefinitionOrder::set(unsigned int value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->DefinitionOrder = value; +} + +System::Collections::Generic::List^ CppSharp::Parser::Declaration::PreprocessedEntities::get() +{ + auto _tmpPreprocessedEntities = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Declaration*)NativePtr)->PreprocessedEntities) + { + auto _marshalElement = gcnew CppSharp::Parser::PreprocessedEntity((::CppSharp::CppParser::PreprocessedEntity*)_element); + _tmpPreprocessedEntities->Add(_marshalElement); + } + return _tmpPreprocessedEntities; +} + +void CppSharp::Parser::Declaration::PreprocessedEntities::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::PreprocessedEntity*>(); + for each(CppSharp::Parser::PreprocessedEntity^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::PreprocessedEntity*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Declaration*)NativePtr)->PreprocessedEntities = _tmpvalue; +} + +System::IntPtr CppSharp::Parser::Declaration::OriginalPtr::get() +{ + return IntPtr(((::CppSharp::CppParser::Declaration*)NativePtr)->OriginalPtr); +} + +void CppSharp::Parser::Declaration::OriginalPtr::set(System::IntPtr value) +{ + ((::CppSharp::CppParser::Declaration*)NativePtr)->OriginalPtr = (void*)value.ToPointer(); +} + +CppSharp::Parser::DeclarationContext::DeclarationContext(::CppSharp::CppParser::DeclarationContext* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::DeclarationContext::DeclarationContext(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::DeclarationContext*)native.ToPointer(); +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::DeclarationContext::FindAnonymous(unsigned long long key) +{ + auto arg0 = (::uint64_t)key; + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindAnonymous(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)__ret); +} + +CppSharp::Parser::Namespace^ CppSharp::Parser::DeclarationContext::FindNamespace(System::String^ Name) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindNamespace(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)__ret); +} + +CppSharp::Parser::Namespace^ CppSharp::Parser::DeclarationContext::FindNamespace(System::Collections::Generic::List^ _0) +{ + auto _tmp_0 = std::vector<::std::string>(); + for each(System::String^ _element in _0) + { + auto _marshalElement = clix::marshalString(_element); + _tmp_0.push_back(_marshalElement); + } + auto arg0 = _tmp_0; + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindNamespace(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)__ret); +} + +CppSharp::Parser::Namespace^ CppSharp::Parser::DeclarationContext::FindCreateNamespace(System::String^ Name) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindCreateNamespace(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)__ret); +} + +CppSharp::Parser::Class^ CppSharp::Parser::DeclarationContext::CreateClass(System::String^ Name, bool IsComplete) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->CreateClass(arg0, IsComplete); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)__ret); +} + +CppSharp::Parser::Class^ CppSharp::Parser::DeclarationContext::FindClass(System::String^ Name) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindClass(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)__ret); +} + +CppSharp::Parser::Class^ CppSharp::Parser::DeclarationContext::FindClass(System::String^ Name, bool IsComplete, bool Create) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindClass(arg0, IsComplete, Create); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)__ret); +} + +CppSharp::Parser::Enumeration^ CppSharp::Parser::DeclarationContext::FindEnum(System::String^ Name, bool Create) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindEnum(arg0, Create); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Enumeration((::CppSharp::CppParser::Enumeration*)__ret); +} + +CppSharp::Parser::Function^ CppSharp::Parser::DeclarationContext::FindFunction(System::String^ Name, bool Create) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindFunction(arg0, Create); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::Function((::CppSharp::CppParser::Function*)__ret); +} + +CppSharp::Parser::TypedefDecl^ CppSharp::Parser::DeclarationContext::FindTypedef(System::String^ Name, bool Create) +{ + auto arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->FindTypedef(arg0, Create); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::TypedefDecl((::CppSharp::CppParser::TypedefDecl*)__ret); +} + +CppSharp::Parser::DeclarationContext::DeclarationContext() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::DeclarationContext(); +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Namespaces::get() +{ + auto _tmpNamespaces = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Namespaces) + { + auto _marshalElement = gcnew CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)_element); + _tmpNamespaces->Add(_marshalElement); + } + return _tmpNamespaces; +} + +void CppSharp::Parser::DeclarationContext::Namespaces::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Namespace*>(); + for each(CppSharp::Parser::Namespace^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Namespace*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Namespaces = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Enums::get() +{ + auto _tmpEnums = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Enums) + { + auto _marshalElement = gcnew CppSharp::Parser::Enumeration((::CppSharp::CppParser::Enumeration*)_element); + _tmpEnums->Add(_marshalElement); + } + return _tmpEnums; +} + +void CppSharp::Parser::DeclarationContext::Enums::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Enumeration*>(); + for each(CppSharp::Parser::Enumeration^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Enumeration*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Enums = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Functions::get() +{ + auto _tmpFunctions = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Functions) + { + auto _marshalElement = gcnew CppSharp::Parser::Function((::CppSharp::CppParser::Function*)_element); + _tmpFunctions->Add(_marshalElement); + } + return _tmpFunctions; +} + +void CppSharp::Parser::DeclarationContext::Functions::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Function*>(); + for each(CppSharp::Parser::Function^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Function*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Functions = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Classes::get() +{ + auto _tmpClasses = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Classes) + { + auto _marshalElement = gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)_element); + _tmpClasses->Add(_marshalElement); + } + return _tmpClasses; +} + +void CppSharp::Parser::DeclarationContext::Classes::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Class*>(); + for each(CppSharp::Parser::Class^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Class*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Classes = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Templates::get() +{ + auto _tmpTemplates = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Templates) + { + auto _marshalElement = gcnew CppSharp::Parser::Template((::CppSharp::CppParser::Template*)_element); + _tmpTemplates->Add(_marshalElement); + } + return _tmpTemplates; +} + +void CppSharp::Parser::DeclarationContext::Templates::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Template*>(); + for each(CppSharp::Parser::Template^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Template*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Templates = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Typedefs::get() +{ + auto _tmpTypedefs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Typedefs) + { + auto _marshalElement = gcnew CppSharp::Parser::TypedefDecl((::CppSharp::CppParser::TypedefDecl*)_element); + _tmpTypedefs->Add(_marshalElement); + } + return _tmpTypedefs; +} + +void CppSharp::Parser::DeclarationContext::Typedefs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::TypedefDecl*>(); + for each(CppSharp::Parser::TypedefDecl^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::TypedefDecl*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Typedefs = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::DeclarationContext::Variables::get() +{ + auto _tmpVariables = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Variables) + { + auto _marshalElement = gcnew CppSharp::Parser::Variable((::CppSharp::CppParser::Variable*)_element); + _tmpVariables->Add(_marshalElement); + } + return _tmpVariables; +} + +void CppSharp::Parser::DeclarationContext::Variables::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Variable*>(); + for each(CppSharp::Parser::Variable^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Variable*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::DeclarationContext*)NativePtr)->Variables = _tmpvalue; +} + +CppSharp::Parser::TypedefDecl::TypedefDecl(::CppSharp::CppParser::TypedefDecl* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::TypedefDecl::TypedefDecl(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::TypedefDecl*)native.ToPointer(); +} + +CppSharp::Parser::TypedefDecl::TypedefDecl() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TypedefDecl(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::TypedefDecl::QualifiedType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::TypedefDecl*)NativePtr)->QualifiedType); +} + +void CppSharp::Parser::TypedefDecl::QualifiedType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::TypedefDecl*)NativePtr)->QualifiedType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::Parameter::Parameter(::CppSharp::CppParser::Parameter* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Parameter::Parameter(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Parameter*)native.ToPointer(); +} + +CppSharp::Parser::Parameter::Parameter() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Parameter(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::Parameter::QualifiedType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::Parameter*)NativePtr)->QualifiedType); +} + +void CppSharp::Parser::Parameter::QualifiedType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::Parameter*)NativePtr)->QualifiedType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::Parameter::IsIndirect::get() +{ + return ((::CppSharp::CppParser::Parameter*)NativePtr)->IsIndirect; +} + +void CppSharp::Parser::Parameter::IsIndirect::set(bool value) +{ + ((::CppSharp::CppParser::Parameter*)NativePtr)->IsIndirect = value; +} + +bool CppSharp::Parser::Parameter::HasDefaultValue::get() +{ + return ((::CppSharp::CppParser::Parameter*)NativePtr)->HasDefaultValue; +} + +void CppSharp::Parser::Parameter::HasDefaultValue::set(bool value) +{ + ((::CppSharp::CppParser::Parameter*)NativePtr)->HasDefaultValue = value; +} + +CppSharp::Parser::Function::Function(::CppSharp::CppParser::Function* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Function::Function(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Function*)native.ToPointer(); +} + +CppSharp::Parser::Function::Function() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Function(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::Function::ReturnType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::Function*)NativePtr)->ReturnType); +} + +void CppSharp::Parser::Function::ReturnType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->ReturnType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::Function::IsReturnIndirect::get() +{ + return ((::CppSharp::CppParser::Function*)NativePtr)->IsReturnIndirect; +} + +void CppSharp::Parser::Function::IsReturnIndirect::set(bool value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->IsReturnIndirect = value; +} + +bool CppSharp::Parser::Function::IsVariadic::get() +{ + return ((::CppSharp::CppParser::Function*)NativePtr)->IsVariadic; +} + +void CppSharp::Parser::Function::IsVariadic::set(bool value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->IsVariadic = value; +} + +bool CppSharp::Parser::Function::IsInline::get() +{ + return ((::CppSharp::CppParser::Function*)NativePtr)->IsInline; +} + +void CppSharp::Parser::Function::IsInline::set(bool value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->IsInline = value; +} + +bool CppSharp::Parser::Function::IsPure::get() +{ + return ((::CppSharp::CppParser::Function*)NativePtr)->IsPure; +} + +void CppSharp::Parser::Function::IsPure::set(bool value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->IsPure = value; +} + +CppSharp::Parser::CXXOperatorKind CppSharp::Parser::Function::OperatorKind::get() +{ + return (CppSharp::Parser::CXXOperatorKind)((::CppSharp::CppParser::Function*)NativePtr)->OperatorKind; +} + +void CppSharp::Parser::Function::OperatorKind::set(CppSharp::Parser::CXXOperatorKind value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->OperatorKind = (::CppSharp::CppParser::CXXOperatorKind)value; +} + +System::String^ CppSharp::Parser::Function::Mangled::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Function*)NativePtr)->Mangled); +} + +void CppSharp::Parser::Function::Mangled::set(System::String^ value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->Mangled = clix::marshalString(value); +} + +CppSharp::Parser::CallingConvention CppSharp::Parser::Function::CallingConvention::get() +{ + return (CppSharp::Parser::CallingConvention)((::CppSharp::CppParser::Function*)NativePtr)->CallingConvention; +} + +void CppSharp::Parser::Function::CallingConvention::set(CppSharp::Parser::CallingConvention value) +{ + ((::CppSharp::CppParser::Function*)NativePtr)->CallingConvention = (::CppSharp::CppParser::CallingConvention)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::Function::Parameters::get() +{ + auto _tmpParameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Function*)NativePtr)->Parameters) + { + auto _marshalElement = gcnew CppSharp::Parser::Parameter((::CppSharp::CppParser::Parameter*)_element); + _tmpParameters->Add(_marshalElement); + } + return _tmpParameters; +} + +void CppSharp::Parser::Function::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Parameter*>(); + for each(CppSharp::Parser::Parameter^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Parameter*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Function*)NativePtr)->Parameters = _tmpvalue; +} + +CppSharp::Parser::Method::Method(::CppSharp::CppParser::Method* native) + : CppSharp::Parser::Function((::CppSharp::CppParser::Function*)native) +{ +} + +CppSharp::Parser::Method::Method(System::IntPtr native) + : CppSharp::Parser::Function(native) +{ + auto __native = (::CppSharp::CppParser::Method*)native.ToPointer(); +} + +CppSharp::Parser::Method::Method() + : CppSharp::Parser::Function((::CppSharp::CppParser::Function*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Method(); +} + +CppSharp::Parser::AccessSpecifierDecl^ CppSharp::Parser::Method::AccessDecl::get() +{ + return gcnew CppSharp::Parser::AccessSpecifierDecl((::CppSharp::CppParser::AccessSpecifierDecl*)((::CppSharp::CppParser::Method*)NativePtr)->AccessDecl); +} + +void CppSharp::Parser::Method::AccessDecl::set(CppSharp::Parser::AccessSpecifierDecl^ value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->AccessDecl = (::CppSharp::CppParser::AccessSpecifierDecl*)value->NativePtr; +} + +bool CppSharp::Parser::Method::IsVirtual::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsVirtual; +} + +void CppSharp::Parser::Method::IsVirtual::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsVirtual = value; +} + +bool CppSharp::Parser::Method::IsStatic::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsStatic; +} + +void CppSharp::Parser::Method::IsStatic::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsStatic = value; +} + +bool CppSharp::Parser::Method::IsConst::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsConst; +} + +void CppSharp::Parser::Method::IsConst::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsConst = value; +} + +bool CppSharp::Parser::Method::IsImplicit::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsImplicit; +} + +void CppSharp::Parser::Method::IsImplicit::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsImplicit = value; +} + +bool CppSharp::Parser::Method::IsOverride::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsOverride; +} + +void CppSharp::Parser::Method::IsOverride::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsOverride = value; +} + +CppSharp::Parser::CXXMethodKind CppSharp::Parser::Method::Kind::get() +{ + return (CppSharp::Parser::CXXMethodKind)((::CppSharp::CppParser::Method*)NativePtr)->Kind; +} + +void CppSharp::Parser::Method::Kind::set(CppSharp::Parser::CXXMethodKind value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->Kind = (::CppSharp::CppParser::CXXMethodKind)value; +} + +bool CppSharp::Parser::Method::IsDefaultConstructor::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsDefaultConstructor; +} + +void CppSharp::Parser::Method::IsDefaultConstructor::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsDefaultConstructor = value; +} + +bool CppSharp::Parser::Method::IsCopyConstructor::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsCopyConstructor; +} + +void CppSharp::Parser::Method::IsCopyConstructor::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsCopyConstructor = value; +} + +bool CppSharp::Parser::Method::IsMoveConstructor::get() +{ + return ((::CppSharp::CppParser::Method*)NativePtr)->IsMoveConstructor; +} + +void CppSharp::Parser::Method::IsMoveConstructor::set(bool value) +{ + ((::CppSharp::CppParser::Method*)NativePtr)->IsMoveConstructor = value; +} + +CppSharp::Parser::Enumeration::Item::Item(::CppSharp::CppParser::Enumeration::Item* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Enumeration::Item::Item(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Enumeration::Item*)native.ToPointer(); +} + +CppSharp::Parser::Enumeration::Item::Item() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Enumeration::Item(); +} + +System::String^ CppSharp::Parser::Enumeration::Item::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Name); +} + +void CppSharp::Parser::Enumeration::Item::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Name = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::Enumeration::Item::Expression::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Expression); +} + +void CppSharp::Parser::Enumeration::Item::Expression::set(System::String^ value) +{ + ((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Expression = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::Enumeration::Item::Comment::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Comment); +} + +void CppSharp::Parser::Enumeration::Item::Comment::set(System::String^ value) +{ + ((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Comment = clix::marshalString(value); +} + +unsigned long long CppSharp::Parser::Enumeration::Item::Value::get() +{ + return ((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Value; +} + +void CppSharp::Parser::Enumeration::Item::Value::set(unsigned long long value) +{ + ((::CppSharp::CppParser::Enumeration::Item*)NativePtr)->Value = (::uint64_t)value; +} + +CppSharp::Parser::Enumeration::Enumeration(::CppSharp::CppParser::Enumeration* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Enumeration::Enumeration(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Enumeration*)native.ToPointer(); +} + +CppSharp::Parser::Enumeration::Enumeration() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Enumeration(); +} + +CppSharp::Parser::Enumeration::EnumModifiers CppSharp::Parser::Enumeration::Modifiers::get() +{ + return (CppSharp::Parser::Enumeration::EnumModifiers)((::CppSharp::CppParser::Enumeration*)NativePtr)->Modifiers; +} + +void CppSharp::Parser::Enumeration::Modifiers::set(CppSharp::Parser::Enumeration::EnumModifiers value) +{ + ((::CppSharp::CppParser::Enumeration*)NativePtr)->Modifiers = (::CppSharp::CppParser::Enumeration::EnumModifiers)value; +} + +CppSharp::Parser::Type^ CppSharp::Parser::Enumeration::Type::get() +{ + return gcnew CppSharp::Parser::Type((::CppSharp::CppParser::Type*)((::CppSharp::CppParser::Enumeration*)NativePtr)->Type); +} + +void CppSharp::Parser::Enumeration::Type::set(CppSharp::Parser::Type^ value) +{ + ((::CppSharp::CppParser::Enumeration*)NativePtr)->Type = (::CppSharp::CppParser::Type*)value->NativePtr; +} + +CppSharp::Parser::BuiltinType^ CppSharp::Parser::Enumeration::BuiltinType::get() +{ + return gcnew CppSharp::Parser::BuiltinType((::CppSharp::CppParser::BuiltinType*)((::CppSharp::CppParser::Enumeration*)NativePtr)->BuiltinType); +} + +void CppSharp::Parser::Enumeration::BuiltinType::set(CppSharp::Parser::BuiltinType^ value) +{ + ((::CppSharp::CppParser::Enumeration*)NativePtr)->BuiltinType = (::CppSharp::CppParser::BuiltinType*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::Enumeration::Items::get() +{ + auto _tmpItems = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Enumeration*)NativePtr)->Items) + { + auto ___element = new ::CppSharp::CppParser::Enumeration::Item(_element); + auto _marshalElement = gcnew CppSharp::Parser::Enumeration::Item((::CppSharp::CppParser::Enumeration::Item*)___element); + _tmpItems->Add(_marshalElement); + } + return _tmpItems; +} + +void CppSharp::Parser::Enumeration::Items::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Enumeration::Item>(); + for each(CppSharp::Parser::Enumeration::Item^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::Enumeration::Item*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Enumeration*)NativePtr)->Items = _tmpvalue; +} + +CppSharp::Parser::Variable::Variable(::CppSharp::CppParser::Variable* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Variable::Variable(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Variable*)native.ToPointer(); +} + +CppSharp::Parser::Variable::Variable() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Variable(); +} + +System::String^ CppSharp::Parser::Variable::Mangled::get() +{ + return clix::marshalString(((::CppSharp::CppParser::Variable*)NativePtr)->Mangled); +} + +void CppSharp::Parser::Variable::Mangled::set(System::String^ value) +{ + ((::CppSharp::CppParser::Variable*)NativePtr)->Mangled = clix::marshalString(value); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::Variable::QualifiedType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::Variable*)NativePtr)->QualifiedType); +} + +void CppSharp::Parser::Variable::QualifiedType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::Variable*)NativePtr)->QualifiedType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::BaseClassSpecifier::BaseClassSpecifier(::CppSharp::CppParser::BaseClassSpecifier* native) +{ + NativePtr = native; +} + +CppSharp::Parser::BaseClassSpecifier::BaseClassSpecifier(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::BaseClassSpecifier*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::BaseClassSpecifier::BaseClassSpecifier() +{ + NativePtr = new ::CppSharp::CppParser::BaseClassSpecifier(); +} + +System::IntPtr CppSharp::Parser::BaseClassSpecifier::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::BaseClassSpecifier::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::BaseClassSpecifier*)object.ToPointer(); +} + +CppSharp::Parser::AccessSpecifier CppSharp::Parser::BaseClassSpecifier::Access::get() +{ + return (CppSharp::Parser::AccessSpecifier)((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->Access; +} + +void CppSharp::Parser::BaseClassSpecifier::Access::set(CppSharp::Parser::AccessSpecifier value) +{ + ((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->Access = (::CppSharp::CppParser::AccessSpecifier)value; +} + +bool CppSharp::Parser::BaseClassSpecifier::IsVirtual::get() +{ + return ((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->IsVirtual; +} + +void CppSharp::Parser::BaseClassSpecifier::IsVirtual::set(bool value) +{ + ((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->IsVirtual = value; +} + +CppSharp::Parser::Type^ CppSharp::Parser::BaseClassSpecifier::Type::get() +{ + return gcnew CppSharp::Parser::Type((::CppSharp::CppParser::Type*)((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->Type); +} + +void CppSharp::Parser::BaseClassSpecifier::Type::set(CppSharp::Parser::Type^ value) +{ + ((::CppSharp::CppParser::BaseClassSpecifier*)NativePtr)->Type = (::CppSharp::CppParser::Type*)value->NativePtr; +} + +CppSharp::Parser::Field::Field(::CppSharp::CppParser::Field* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Field::Field(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Field*)native.ToPointer(); +} + +CppSharp::Parser::Field::Field() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Field(); +} + +CppSharp::Parser::QualifiedType^ CppSharp::Parser::Field::QualifiedType::get() +{ + return gcnew CppSharp::Parser::QualifiedType((::CppSharp::CppParser::QualifiedType*)&((::CppSharp::CppParser::Field*)NativePtr)->QualifiedType); +} + +void CppSharp::Parser::Field::QualifiedType::set(CppSharp::Parser::QualifiedType^ value) +{ + ((::CppSharp::CppParser::Field*)NativePtr)->QualifiedType = *(::CppSharp::CppParser::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AccessSpecifier CppSharp::Parser::Field::Access::get() +{ + return (CppSharp::Parser::AccessSpecifier)((::CppSharp::CppParser::Field*)NativePtr)->Access; +} + +void CppSharp::Parser::Field::Access::set(CppSharp::Parser::AccessSpecifier value) +{ + ((::CppSharp::CppParser::Field*)NativePtr)->Access = (::CppSharp::CppParser::AccessSpecifier)value; +} + +unsigned int CppSharp::Parser::Field::Offset::get() +{ + return ((::CppSharp::CppParser::Field*)NativePtr)->Offset; +} + +void CppSharp::Parser::Field::Offset::set(unsigned int value) +{ + ((::CppSharp::CppParser::Field*)NativePtr)->Offset = value; +} + +CppSharp::Parser::Class^ CppSharp::Parser::Field::Class::get() +{ + return gcnew CppSharp::Parser::Class((::CppSharp::CppParser::Class*)((::CppSharp::CppParser::Field*)NativePtr)->Class); +} + +void CppSharp::Parser::Field::Class::set(CppSharp::Parser::Class^ value) +{ + ((::CppSharp::CppParser::Field*)NativePtr)->Class = (::CppSharp::CppParser::Class*)value->NativePtr; +} + +CppSharp::Parser::AccessSpecifierDecl::AccessSpecifierDecl(::CppSharp::CppParser::AccessSpecifierDecl* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::AccessSpecifierDecl::AccessSpecifierDecl(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::AccessSpecifierDecl*)native.ToPointer(); +} + +CppSharp::Parser::AccessSpecifierDecl::AccessSpecifierDecl() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::AccessSpecifierDecl(); +} + +CppSharp::Parser::Class::Class(::CppSharp::CppParser::Class* native) + : CppSharp::Parser::DeclarationContext((::CppSharp::CppParser::DeclarationContext*)native) +{ +} + +CppSharp::Parser::Class::Class(System::IntPtr native) + : CppSharp::Parser::DeclarationContext(native) +{ + auto __native = (::CppSharp::CppParser::Class*)native.ToPointer(); +} + +CppSharp::Parser::Class::Class() + : CppSharp::Parser::DeclarationContext((::CppSharp::CppParser::DeclarationContext*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Class(); +} + +System::Collections::Generic::List^ CppSharp::Parser::Class::Bases::get() +{ + auto _tmpBases = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Class*)NativePtr)->Bases) + { + auto _marshalElement = gcnew CppSharp::Parser::BaseClassSpecifier((::CppSharp::CppParser::BaseClassSpecifier*)_element); + _tmpBases->Add(_marshalElement); + } + return _tmpBases; +} + +void CppSharp::Parser::Class::Bases::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::BaseClassSpecifier*>(); + for each(CppSharp::Parser::BaseClassSpecifier^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::BaseClassSpecifier*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Class*)NativePtr)->Bases = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::Class::Fields::get() +{ + auto _tmpFields = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Class*)NativePtr)->Fields) + { + auto _marshalElement = gcnew CppSharp::Parser::Field((::CppSharp::CppParser::Field*)_element); + _tmpFields->Add(_marshalElement); + } + return _tmpFields; +} + +void CppSharp::Parser::Class::Fields::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Field*>(); + for each(CppSharp::Parser::Field^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Field*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Class*)NativePtr)->Fields = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::Class::Methods::get() +{ + auto _tmpMethods = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Class*)NativePtr)->Methods) + { + auto _marshalElement = gcnew CppSharp::Parser::Method((::CppSharp::CppParser::Method*)_element); + _tmpMethods->Add(_marshalElement); + } + return _tmpMethods; +} + +void CppSharp::Parser::Class::Methods::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Method*>(); + for each(CppSharp::Parser::Method^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Method*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Class*)NativePtr)->Methods = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::Class::Specifiers::get() +{ + auto _tmpSpecifiers = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Class*)NativePtr)->Specifiers) + { + auto _marshalElement = gcnew CppSharp::Parser::AccessSpecifierDecl((::CppSharp::CppParser::AccessSpecifierDecl*)_element); + _tmpSpecifiers->Add(_marshalElement); + } + return _tmpSpecifiers; +} + +void CppSharp::Parser::Class::Specifiers::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AccessSpecifierDecl*>(); + for each(CppSharp::Parser::AccessSpecifierDecl^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AccessSpecifierDecl*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Class*)NativePtr)->Specifiers = _tmpvalue; +} + +bool CppSharp::Parser::Class::IsPOD::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->IsPOD; +} + +void CppSharp::Parser::Class::IsPOD::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->IsPOD = value; +} + +bool CppSharp::Parser::Class::IsAbstract::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->IsAbstract; +} + +void CppSharp::Parser::Class::IsAbstract::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->IsAbstract = value; +} + +bool CppSharp::Parser::Class::IsUnion::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->IsUnion; +} + +void CppSharp::Parser::Class::IsUnion::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->IsUnion = value; +} + +bool CppSharp::Parser::Class::IsDynamic::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->IsDynamic; +} + +void CppSharp::Parser::Class::IsDynamic::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->IsDynamic = value; +} + +bool CppSharp::Parser::Class::IsPolymorphic::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->IsPolymorphic; +} + +void CppSharp::Parser::Class::IsPolymorphic::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->IsPolymorphic = value; +} + +bool CppSharp::Parser::Class::HasNonTrivialDefaultConstructor::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->HasNonTrivialDefaultConstructor; +} + +void CppSharp::Parser::Class::HasNonTrivialDefaultConstructor::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->HasNonTrivialDefaultConstructor = value; +} + +bool CppSharp::Parser::Class::HasNonTrivialCopyConstructor::get() +{ + return ((::CppSharp::CppParser::Class*)NativePtr)->HasNonTrivialCopyConstructor; +} + +void CppSharp::Parser::Class::HasNonTrivialCopyConstructor::set(bool value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->HasNonTrivialCopyConstructor = value; +} + +CppSharp::Parser::ClassLayout^ CppSharp::Parser::Class::Layout::get() +{ + return gcnew CppSharp::Parser::ClassLayout((::CppSharp::CppParser::ClassLayout*)&((::CppSharp::CppParser::Class*)NativePtr)->Layout); +} + +void CppSharp::Parser::Class::Layout::set(CppSharp::Parser::ClassLayout^ value) +{ + ((::CppSharp::CppParser::Class*)NativePtr)->Layout = *(::CppSharp::CppParser::ClassLayout*)value->NativePtr; +} + +CppSharp::Parser::Template::Template(::CppSharp::CppParser::Template* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::Template::Template(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::Template*)native.ToPointer(); +} + +CppSharp::Parser::Template::Template() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Template(); +} + +CppSharp::Parser::Declaration^ CppSharp::Parser::Template::TemplatedDecl::get() +{ + return gcnew CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)((::CppSharp::CppParser::Template*)NativePtr)->TemplatedDecl); +} + +void CppSharp::Parser::Template::TemplatedDecl::set(CppSharp::Parser::Declaration^ value) +{ + ((::CppSharp::CppParser::Template*)NativePtr)->TemplatedDecl = (::CppSharp::CppParser::Declaration*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::Template::Parameters::get() +{ + auto _tmpParameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Template*)NativePtr)->Parameters) + { + auto ___element = new ::CppSharp::CppParser::TemplateParameter(_element); + auto _marshalElement = gcnew CppSharp::Parser::TemplateParameter((::CppSharp::CppParser::TemplateParameter*)___element); + _tmpParameters->Add(_marshalElement); + } + return _tmpParameters; +} + +void CppSharp::Parser::Template::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::TemplateParameter>(); + for each(CppSharp::Parser::TemplateParameter^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::TemplateParameter*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Template*)NativePtr)->Parameters = _tmpvalue; +} + +CppSharp::Parser::ClassTemplate::ClassTemplate(::CppSharp::CppParser::ClassTemplate* native) + : CppSharp::Parser::Template((::CppSharp::CppParser::Template*)native) +{ +} + +CppSharp::Parser::ClassTemplate::ClassTemplate(System::IntPtr native) + : CppSharp::Parser::Template(native) +{ + auto __native = (::CppSharp::CppParser::ClassTemplate*)native.ToPointer(); +} + +CppSharp::Parser::ClassTemplate::ClassTemplate() + : CppSharp::Parser::Template((::CppSharp::CppParser::Template*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::ClassTemplate(); +} + +CppSharp::Parser::ClassTemplateSpecialization::ClassTemplateSpecialization(::CppSharp::CppParser::ClassTemplateSpecialization* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::ClassTemplateSpecialization::ClassTemplateSpecialization(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::ClassTemplateSpecialization*)native.ToPointer(); +} + +CppSharp::Parser::ClassTemplateSpecialization::ClassTemplateSpecialization() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::ClassTemplateSpecialization(); +} + +CppSharp::Parser::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(::CppSharp::CppParser::ClassTemplatePartialSpecialization* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::ClassTemplatePartialSpecialization*)native.ToPointer(); +} + +CppSharp::Parser::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::ClassTemplatePartialSpecialization(); +} + +CppSharp::Parser::FunctionTemplate::FunctionTemplate(::CppSharp::CppParser::FunctionTemplate* native) + : CppSharp::Parser::Template((::CppSharp::CppParser::Template*)native) +{ +} + +CppSharp::Parser::FunctionTemplate::FunctionTemplate(System::IntPtr native) + : CppSharp::Parser::Template(native) +{ + auto __native = (::CppSharp::CppParser::FunctionTemplate*)native.ToPointer(); +} + +CppSharp::Parser::FunctionTemplate::FunctionTemplate() + : CppSharp::Parser::Template((::CppSharp::CppParser::Template*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::FunctionTemplate(); +} + +CppSharp::Parser::Namespace::Namespace(::CppSharp::CppParser::Namespace* native) + : CppSharp::Parser::DeclarationContext((::CppSharp::CppParser::DeclarationContext*)native) +{ +} + +CppSharp::Parser::Namespace::Namespace(System::IntPtr native) + : CppSharp::Parser::DeclarationContext(native) +{ + auto __native = (::CppSharp::CppParser::Namespace*)native.ToPointer(); +} + +CppSharp::Parser::Namespace::Namespace() + : CppSharp::Parser::DeclarationContext((::CppSharp::CppParser::DeclarationContext*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::Namespace(); +} + +CppSharp::Parser::PreprocessedEntity::PreprocessedEntity(::CppSharp::CppParser::PreprocessedEntity* native) + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)native) +{ +} + +CppSharp::Parser::PreprocessedEntity::PreprocessedEntity(System::IntPtr native) + : CppSharp::Parser::Declaration(native) +{ + auto __native = (::CppSharp::CppParser::PreprocessedEntity*)native.ToPointer(); +} + +CppSharp::Parser::PreprocessedEntity::PreprocessedEntity() + : CppSharp::Parser::Declaration((::CppSharp::CppParser::Declaration*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::PreprocessedEntity(); +} + +CppSharp::Parser::MacroLocation CppSharp::Parser::PreprocessedEntity::Location::get() +{ + return (CppSharp::Parser::MacroLocation)((::CppSharp::CppParser::PreprocessedEntity*)NativePtr)->Location; +} + +void CppSharp::Parser::PreprocessedEntity::Location::set(CppSharp::Parser::MacroLocation value) +{ + ((::CppSharp::CppParser::PreprocessedEntity*)NativePtr)->Location = (::CppSharp::CppParser::MacroLocation)value; +} + +CppSharp::Parser::MacroDefinition::MacroDefinition(::CppSharp::CppParser::MacroDefinition* native) + : CppSharp::Parser::PreprocessedEntity((::CppSharp::CppParser::PreprocessedEntity*)native) +{ +} + +CppSharp::Parser::MacroDefinition::MacroDefinition(System::IntPtr native) + : CppSharp::Parser::PreprocessedEntity(native) +{ + auto __native = (::CppSharp::CppParser::MacroDefinition*)native.ToPointer(); +} + +CppSharp::Parser::MacroDefinition::MacroDefinition() + : CppSharp::Parser::PreprocessedEntity((::CppSharp::CppParser::PreprocessedEntity*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::MacroDefinition(); +} + +System::String^ CppSharp::Parser::MacroDefinition::Expression::get() +{ + return clix::marshalString(((::CppSharp::CppParser::MacroDefinition*)NativePtr)->Expression); +} + +void CppSharp::Parser::MacroDefinition::Expression::set(System::String^ value) +{ + ((::CppSharp::CppParser::MacroDefinition*)NativePtr)->Expression = clix::marshalString(value); +} + +CppSharp::Parser::MacroExpansion::MacroExpansion(::CppSharp::CppParser::MacroExpansion* native) + : CppSharp::Parser::PreprocessedEntity((::CppSharp::CppParser::PreprocessedEntity*)native) +{ +} + +CppSharp::Parser::MacroExpansion::MacroExpansion(System::IntPtr native) + : CppSharp::Parser::PreprocessedEntity(native) +{ + auto __native = (::CppSharp::CppParser::MacroExpansion*)native.ToPointer(); +} + +CppSharp::Parser::MacroExpansion::MacroExpansion() + : CppSharp::Parser::PreprocessedEntity((::CppSharp::CppParser::PreprocessedEntity*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::MacroExpansion(); +} + +System::String^ CppSharp::Parser::MacroExpansion::Text::get() +{ + return clix::marshalString(((::CppSharp::CppParser::MacroExpansion*)NativePtr)->Text); +} + +void CppSharp::Parser::MacroExpansion::Text::set(System::String^ value) +{ + ((::CppSharp::CppParser::MacroExpansion*)NativePtr)->Text = clix::marshalString(value); +} + +CppSharp::Parser::MacroDefinition^ CppSharp::Parser::MacroExpansion::Definition::get() +{ + return gcnew CppSharp::Parser::MacroDefinition((::CppSharp::CppParser::MacroDefinition*)((::CppSharp::CppParser::MacroExpansion*)NativePtr)->Definition); +} + +void CppSharp::Parser::MacroExpansion::Definition::set(CppSharp::Parser::MacroDefinition^ value) +{ + ((::CppSharp::CppParser::MacroExpansion*)NativePtr)->Definition = (::CppSharp::CppParser::MacroDefinition*)value->NativePtr; +} + +CppSharp::Parser::TranslationUnit::TranslationUnit(::CppSharp::CppParser::TranslationUnit* native) + : CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)native) +{ +} + +CppSharp::Parser::TranslationUnit::TranslationUnit(System::IntPtr native) + : CppSharp::Parser::Namespace(native) +{ + auto __native = (::CppSharp::CppParser::TranslationUnit*)native.ToPointer(); +} + +CppSharp::Parser::TranslationUnit::TranslationUnit() + : CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)nullptr) +{ + NativePtr = new ::CppSharp::CppParser::TranslationUnit(); +} + +System::String^ CppSharp::Parser::TranslationUnit::FileName::get() +{ + return clix::marshalString(((::CppSharp::CppParser::TranslationUnit*)NativePtr)->FileName); +} + +void CppSharp::Parser::TranslationUnit::FileName::set(System::String^ value) +{ + ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->FileName = clix::marshalString(value); +} + +bool CppSharp::Parser::TranslationUnit::IsSystemHeader::get() +{ + return ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->IsSystemHeader; +} + +void CppSharp::Parser::TranslationUnit::IsSystemHeader::set(bool value) +{ + ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->IsSystemHeader = value; +} + +System::Collections::Generic::List^ CppSharp::Parser::TranslationUnit::Namespaces::get() +{ + auto _tmpNamespaces = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->Namespaces) + { + auto _marshalElement = gcnew CppSharp::Parser::Namespace((::CppSharp::CppParser::Namespace*)_element); + _tmpNamespaces->Add(_marshalElement); + } + return _tmpNamespaces; +} + +void CppSharp::Parser::TranslationUnit::Namespaces::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::Namespace*>(); + for each(CppSharp::Parser::Namespace^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::Namespace*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->Namespaces = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::TranslationUnit::Macros::get() +{ + auto _tmpMacros = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->Macros) + { + auto _marshalElement = gcnew CppSharp::Parser::MacroDefinition((::CppSharp::CppParser::MacroDefinition*)_element); + _tmpMacros->Add(_marshalElement); + } + return _tmpMacros; +} + +void CppSharp::Parser::TranslationUnit::Macros::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::MacroDefinition*>(); + for each(CppSharp::Parser::MacroDefinition^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::MacroDefinition*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::TranslationUnit*)NativePtr)->Macros = _tmpvalue; +} + +CppSharp::Parser::NativeLibrary::NativeLibrary(::CppSharp::CppParser::NativeLibrary* native) +{ + NativePtr = native; +} + +CppSharp::Parser::NativeLibrary::NativeLibrary(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::NativeLibrary*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::NativeLibrary::NativeLibrary() +{ + NativePtr = new ::CppSharp::CppParser::NativeLibrary(); +} + +System::IntPtr CppSharp::Parser::NativeLibrary::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::NativeLibrary::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::NativeLibrary*)object.ToPointer(); +} + +System::String^ CppSharp::Parser::NativeLibrary::FileName::get() +{ + return clix::marshalString(((::CppSharp::CppParser::NativeLibrary*)NativePtr)->FileName); +} + +void CppSharp::Parser::NativeLibrary::FileName::set(System::String^ value) +{ + ((::CppSharp::CppParser::NativeLibrary*)NativePtr)->FileName = clix::marshalString(value); +} + +System::Collections::Generic::List^ CppSharp::Parser::NativeLibrary::Symbols::get() +{ + auto _tmpSymbols = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::NativeLibrary*)NativePtr)->Symbols) + { + auto _marshalElement = clix::marshalString(_element); + _tmpSymbols->Add(_marshalElement); + } + return _tmpSymbols; +} + +void CppSharp::Parser::NativeLibrary::Symbols::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::std::string>(); + for each(System::String^ _element in value) + { + auto _marshalElement = clix::marshalString(_element); + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::NativeLibrary*)NativePtr)->Symbols = _tmpvalue; +} + +CppSharp::Parser::Library::Library(::CppSharp::CppParser::Library* native) +{ + NativePtr = native; +} + +CppSharp::Parser::Library::Library(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::Library*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::TranslationUnit^ CppSharp::Parser::Library::FindOrCreateModule(System::String^ File) +{ + auto arg0 = clix::marshalString(File); + auto __ret = ((::CppSharp::CppParser::Library*)NativePtr)->FindOrCreateModule(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::TranslationUnit((::CppSharp::CppParser::TranslationUnit*)__ret); +} + +CppSharp::Parser::NativeLibrary^ CppSharp::Parser::Library::FindOrCreateLibrary(System::String^ File) +{ + auto arg0 = clix::marshalString(File); + auto __ret = ((::CppSharp::CppParser::Library*)NativePtr)->FindOrCreateLibrary(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::NativeLibrary((::CppSharp::CppParser::NativeLibrary*)__ret); +} + +CppSharp::Parser::Library::Library() +{ + NativePtr = new ::CppSharp::CppParser::Library(); +} + +System::IntPtr CppSharp::Parser::Library::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::Library::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::Library*)object.ToPointer(); +} + +System::Collections::Generic::List^ CppSharp::Parser::Library::TranslationUnits::get() +{ + auto _tmpTranslationUnits = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Library*)NativePtr)->TranslationUnits) + { + auto _marshalElement = gcnew CppSharp::Parser::TranslationUnit((::CppSharp::CppParser::TranslationUnit*)_element); + _tmpTranslationUnits->Add(_marshalElement); + } + return _tmpTranslationUnits; +} + +void CppSharp::Parser::Library::TranslationUnits::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::TranslationUnit*>(); + for each(CppSharp::Parser::TranslationUnit^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::TranslationUnit*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Library*)NativePtr)->TranslationUnits = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::Library::Libraries::get() +{ + auto _tmpLibraries = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::Library*)NativePtr)->Libraries) + { + auto _marshalElement = gcnew CppSharp::Parser::NativeLibrary((::CppSharp::CppParser::NativeLibrary*)_element); + _tmpLibraries->Add(_marshalElement); + } + return _tmpLibraries; +} + +void CppSharp::Parser::Library::Libraries::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::NativeLibrary*>(); + for each(CppSharp::Parser::NativeLibrary^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::NativeLibrary*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::Library*)NativePtr)->Libraries = _tmpvalue; +} + diff --git a/src/CppParser/Bindings/CLI/AST.h b/src/CppParser/Bindings/CLI/AST.h new file mode 100644 index 00000000..7e36e599 --- /dev/null +++ b/src/CppParser/Bindings/CLI/AST.h @@ -0,0 +1,1579 @@ +#pragma once + +#include "CppSharp.h" +#include + +namespace CppSharp +{ + enum struct AccessSpecifier; + enum struct CallingConvention; + enum struct CppAbi; + enum struct CXXMethodKind; + enum struct CXXOperatorKind; + enum struct MacroLocation; + enum struct PrimitiveType; + enum struct RawCommentKind; + enum struct VTableComponentKind; + ref class AccessSpecifierDecl; + ref class ArrayType; + ref class BaseClassSpecifier; + ref class BuiltinType; + ref class Class; + ref class ClassLayout; + ref class ClassTemplate; + ref class ClassTemplatePartialSpecialization; + ref class ClassTemplateSpecialization; + ref class DecayedType; + ref class Declaration; + ref class DeclarationContext; + ref class DependentNameType; + ref class Enumeration; + ref class Field; + ref class Function; + ref class FunctionTemplate; + ref class FunctionType; + ref class InjectedClassNameType; + ref class Library; + ref class MacroDefinition; + ref class MacroExpansion; + ref class MemberPointerType; + ref class Method; + ref class Namespace; + ref class NativeLibrary; + ref class Parameter; + ref class PointerType; + ref class PreprocessedEntity; + ref class QualifiedType; + ref class RawComment; + ref class TagType; + ref class Template; + ref class TemplateArgument; + ref class TemplateParameter; + ref class TemplateParameterSubstitutionType; + ref class TemplateParameterType; + ref class TemplateSpecializationType; + ref class TranslationUnit; + ref class Type; + ref class TypedefDecl; + ref class TypedefType; + ref class TypeQualifiers; + ref class Variable; + ref class VFTableInfo; + ref class VTableComponent; + ref class VTableLayout; + + namespace Parser + { + enum struct AccessSpecifier; + enum struct ArgumentKind; + enum struct ArraySize; + enum struct CallingConvention; + enum struct CppAbi; + enum struct CXXMethodKind; + enum struct CXXOperatorKind; + enum struct EnumModifiers; + enum struct MacroLocation; + enum struct PrimitiveType; + enum struct RawCommentKind; + enum struct TypeModifier; + enum struct VTableComponentKind; + ref class AccessSpecifierDecl; + ref class ArrayType; + ref class BaseClassSpecifier; + ref class BuiltinType; + ref class Class; + ref class ClassLayout; + ref class ClassTemplate; + ref class ClassTemplatePartialSpecialization; + ref class ClassTemplateSpecialization; + ref class DecayedType; + ref class Declaration; + ref class DeclarationContext; + ref class DependentNameType; + ref class Enumeration; + ref class Field; + ref class Function; + ref class FunctionTemplate; + ref class FunctionType; + ref class InjectedClassNameType; + ref class Item; + ref class Library; + ref class MacroDefinition; + ref class MacroExpansion; + ref class MemberPointerType; + ref class Method; + ref class Namespace; + ref class NativeLibrary; + ref class Parameter; + ref class PointerType; + ref class PreprocessedEntity; + ref class QualifiedType; + ref class RawComment; + ref class TagType; + ref class Template; + ref class TemplateArgument; + ref class TemplateParameter; + ref class TemplateParameterSubstitutionType; + ref class TemplateParameterType; + ref class TemplateSpecializationType; + ref class TranslationUnit; + ref class Type; + ref class TypedefDecl; + ref class TypedefType; + ref class TypeQualifiers; + ref class Variable; + ref class VFTableInfo; + ref class VTableComponent; + ref class VTableLayout; + + public enum struct AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + }; + + public enum struct CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + }; + + public enum struct CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + Array_New = 3, + Array_Delete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + AmpAmp = 34, + PipePipe = 35, + PlusPlus = 36, + MinusMinus = 37, + Comma = 38, + ArrowStar = 39, + Arrow = 40, + Call = 41, + Subscript = 42, + Conditional = 43 + }; + + public enum struct CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + }; + + public enum struct CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2 + }; + + public enum struct VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + }; + + public enum struct PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Int8 = 4, + Char = 4, + UInt8 = 5, + UChar = 5, + Int16 = 6, + UInt16 = 7, + Int32 = 8, + UInt32 = 9, + Int64 = 10, + UInt64 = 11, + Float = 12, + Double = 13, + IntPtr = 14 + }; + + public enum struct RawCommentKind + { + Invalid = 0, + OrdinaryBCPL = 1, + OrdinaryC = 2, + BCPLSlash = 3, + BCPLExcl = 4, + JavaDoc = 5, + Qt = 6, + Merged = 7 + }; + + public enum struct MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + }; + + public ref class Type : ICppInstance + { + public: + + property ::CppSharp::CppParser::Type* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Type(::CppSharp::CppParser::Type* native); + Type(System::IntPtr native); + Type(); + + }; + + public ref class TypeQualifiers : ICppInstance + { + public: + + property ::CppSharp::CppParser::TypeQualifiers* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + TypeQualifiers(::CppSharp::CppParser::TypeQualifiers* native); + TypeQualifiers(System::IntPtr native); + TypeQualifiers(); + + property bool IsConst + { + bool get(); + void set(bool); + } + property bool IsVolatile + { + bool get(); + void set(bool); + } + property bool IsRestrict + { + bool get(); + void set(bool); + } + }; + + public ref class QualifiedType : ICppInstance + { + public: + + property ::CppSharp::CppParser::QualifiedType* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + QualifiedType(::CppSharp::CppParser::QualifiedType* native); + QualifiedType(System::IntPtr native); + QualifiedType(); + + property CppSharp::Parser::Type^ Type + { + CppSharp::Parser::Type^ get(); + void set(CppSharp::Parser::Type^); + } + property CppSharp::Parser::TypeQualifiers^ Qualifiers + { + CppSharp::Parser::TypeQualifiers^ get(); + void set(CppSharp::Parser::TypeQualifiers^); + } + }; + + public ref class TagType : CppSharp::Parser::Type + { + public: + + TagType(::CppSharp::CppParser::TagType* native); + TagType(System::IntPtr native); + TagType(); + + property CppSharp::Parser::Declaration^ Declaration + { + CppSharp::Parser::Declaration^ get(); + void set(CppSharp::Parser::Declaration^); + } + }; + + public ref class ArrayType : CppSharp::Parser::Type + { + public: + + enum struct ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + }; + + ArrayType(::CppSharp::CppParser::ArrayType* native); + ArrayType(System::IntPtr native); + ArrayType(); + + property CppSharp::Parser::QualifiedType^ QualifiedType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::ArrayType::ArraySize SizeType + { + CppSharp::Parser::ArrayType::ArraySize get(); + void set(CppSharp::Parser::ArrayType::ArraySize); + } + property int Size + { + int get(); + void set(int); + } + }; + + public ref class FunctionType : CppSharp::Parser::Type + { + public: + + FunctionType(::CppSharp::CppParser::FunctionType* native); + FunctionType(System::IntPtr native); + FunctionType(); + + property CppSharp::Parser::QualifiedType^ ReturnType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property CppSharp::Parser::CallingConvention CallingConvention + { + CppSharp::Parser::CallingConvention get(); + void set(CppSharp::Parser::CallingConvention); + } + }; + + public ref class PointerType : CppSharp::Parser::Type + { + public: + + enum struct TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + }; + + PointerType(::CppSharp::CppParser::PointerType* native); + PointerType(System::IntPtr native); + PointerType(); + + property CppSharp::Parser::QualifiedType^ QualifiedPointee + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::PointerType::TypeModifier Modifier + { + CppSharp::Parser::PointerType::TypeModifier get(); + void set(CppSharp::Parser::PointerType::TypeModifier); + } + }; + + public ref class MemberPointerType : CppSharp::Parser::Type + { + public: + + MemberPointerType(::CppSharp::CppParser::MemberPointerType* native); + MemberPointerType(System::IntPtr native); + MemberPointerType(); + + property CppSharp::Parser::QualifiedType^ Pointee + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + }; + + public ref class TypedefType : CppSharp::Parser::Type + { + public: + + TypedefType(::CppSharp::CppParser::TypedefType* native); + TypedefType(System::IntPtr native); + TypedefType(); + + property CppSharp::Parser::TypedefDecl^ Declaration + { + CppSharp::Parser::TypedefDecl^ get(); + void set(CppSharp::Parser::TypedefDecl^); + } + }; + + public ref class DecayedType : CppSharp::Parser::Type + { + public: + + DecayedType(::CppSharp::CppParser::DecayedType* native); + DecayedType(System::IntPtr native); + DecayedType(); + + property CppSharp::Parser::QualifiedType^ Decayed + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::QualifiedType^ Original + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::QualifiedType^ Pointee + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + }; + + public ref class TemplateArgument : ICppInstance + { + public: + + enum struct ArgumentKind + { + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 + }; + + property ::CppSharp::CppParser::TemplateArgument* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + TemplateArgument(::CppSharp::CppParser::TemplateArgument* native); + TemplateArgument(System::IntPtr native); + TemplateArgument(); + + property CppSharp::Parser::TemplateArgument::ArgumentKind Kind + { + CppSharp::Parser::TemplateArgument::ArgumentKind get(); + void set(CppSharp::Parser::TemplateArgument::ArgumentKind); + } + property CppSharp::Parser::QualifiedType^ Type + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::Declaration^ Declaration + { + CppSharp::Parser::Declaration^ get(); + void set(CppSharp::Parser::Declaration^); + } + property int Integral + { + int get(); + void set(int); + } + }; + + public ref class TemplateSpecializationType : CppSharp::Parser::Type + { + public: + + TemplateSpecializationType(::CppSharp::CppParser::TemplateSpecializationType* native); + TemplateSpecializationType(System::IntPtr native); + TemplateSpecializationType(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property CppSharp::Parser::Template^ Template + { + CppSharp::Parser::Template^ get(); + void set(CppSharp::Parser::Template^); + } + property CppSharp::Parser::Type^ Desugared + { + CppSharp::Parser::Type^ get(); + void set(CppSharp::Parser::Type^); + } + }; + + public ref class TemplateParameter : ICppInstance + { + public: + + property ::CppSharp::CppParser::TemplateParameter* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + TemplateParameter(::CppSharp::CppParser::TemplateParameter* native); + TemplateParameter(System::IntPtr native); + TemplateParameter(); + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class TemplateParameterType : CppSharp::Parser::Type + { + public: + + TemplateParameterType(::CppSharp::CppParser::TemplateParameterType* native); + TemplateParameterType(System::IntPtr native); + TemplateParameterType(); + + property CppSharp::Parser::TemplateParameter^ Parameter + { + CppSharp::Parser::TemplateParameter^ get(); + void set(CppSharp::Parser::TemplateParameter^); + } + }; + + public ref class TemplateParameterSubstitutionType : CppSharp::Parser::Type + { + public: + + TemplateParameterSubstitutionType(::CppSharp::CppParser::TemplateParameterSubstitutionType* native); + TemplateParameterSubstitutionType(System::IntPtr native); + TemplateParameterSubstitutionType(); + + property CppSharp::Parser::QualifiedType^ Replacement + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + }; + + public ref class InjectedClassNameType : CppSharp::Parser::Type + { + public: + + InjectedClassNameType(::CppSharp::CppParser::InjectedClassNameType* native); + InjectedClassNameType(System::IntPtr native); + InjectedClassNameType(); + + property CppSharp::Parser::TemplateSpecializationType^ TemplateSpecialization + { + CppSharp::Parser::TemplateSpecializationType^ get(); + void set(CppSharp::Parser::TemplateSpecializationType^); + } + property CppSharp::Parser::Class^ Class + { + CppSharp::Parser::Class^ get(); + void set(CppSharp::Parser::Class^); + } + }; + + public ref class DependentNameType : CppSharp::Parser::Type + { + public: + + DependentNameType(::CppSharp::CppParser::DependentNameType* native); + DependentNameType(System::IntPtr native); + DependentNameType(); + + }; + + public ref class BuiltinType : CppSharp::Parser::Type + { + public: + + BuiltinType(::CppSharp::CppParser::BuiltinType* native); + BuiltinType(System::IntPtr native); + BuiltinType(); + + property CppSharp::Parser::PrimitiveType Type + { + CppSharp::Parser::PrimitiveType get(); + void set(CppSharp::Parser::PrimitiveType); + } + }; + + public ref class RawComment : ICppInstance + { + public: + + property ::CppSharp::CppParser::RawComment* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + RawComment(::CppSharp::CppParser::RawComment* native); + RawComment(System::IntPtr native); + RawComment(); + + property CppSharp::Parser::RawCommentKind Kind + { + CppSharp::Parser::RawCommentKind get(); + void set(CppSharp::Parser::RawCommentKind); + } + property System::String^ Text + { + System::String^ get(); + void set(System::String^); + } + property System::String^ BriefText + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class VTableComponent : ICppInstance + { + public: + + property ::CppSharp::CppParser::VTableComponent* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VTableComponent(::CppSharp::CppParser::VTableComponent* native); + VTableComponent(System::IntPtr native); + VTableComponent(); + + property CppSharp::Parser::VTableComponentKind Kind + { + CppSharp::Parser::VTableComponentKind get(); + void set(CppSharp::Parser::VTableComponentKind); + } + property unsigned int Offset + { + unsigned int get(); + void set(unsigned int); + } + property CppSharp::Parser::Declaration^ Declaration + { + CppSharp::Parser::Declaration^ get(); + void set(CppSharp::Parser::Declaration^); + } + }; + + public ref class VTableLayout : ICppInstance + { + public: + + property ::CppSharp::CppParser::VTableLayout* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VTableLayout(::CppSharp::CppParser::VTableLayout* native); + VTableLayout(System::IntPtr native); + VTableLayout(); + + property System::Collections::Generic::List^ Components + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class VFTableInfo : ICppInstance + { + public: + + property ::CppSharp::CppParser::VFTableInfo* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VFTableInfo(::CppSharp::CppParser::VFTableInfo* native); + VFTableInfo(System::IntPtr native); + VFTableInfo(); + + property unsigned long long VBTableIndex + { + unsigned long long get(); + void set(unsigned long long); + } + property unsigned int VFPtrOffset + { + unsigned int get(); + void set(unsigned int); + } + property unsigned int VFPtrFullOffset + { + unsigned int get(); + void set(unsigned int); + } + property CppSharp::Parser::VTableLayout^ Layout + { + CppSharp::Parser::VTableLayout^ get(); + void set(CppSharp::Parser::VTableLayout^); + } + }; + + public ref class ClassLayout : ICppInstance + { + public: + + property ::CppSharp::CppParser::ClassLayout* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ClassLayout(::CppSharp::CppParser::ClassLayout* native); + ClassLayout(System::IntPtr native); + ClassLayout(); + + property CppSharp::Parser::CppAbi ABI + { + CppSharp::Parser::CppAbi get(); + void set(CppSharp::Parser::CppAbi); + } + property System::Collections::Generic::List^ VFTables + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property CppSharp::Parser::VTableLayout^ Layout + { + CppSharp::Parser::VTableLayout^ get(); + void set(CppSharp::Parser::VTableLayout^); + } + property bool HasOwnVFPtr + { + bool get(); + void set(bool); + } + property int VBPtrOffset + { + int get(); + void set(int); + } + property int Alignment + { + int get(); + void set(int); + } + property int Size + { + int get(); + void set(int); + } + property int DataSize + { + int get(); + void set(int); + } + }; + + public ref class Declaration : ICppInstance + { + public: + + property ::CppSharp::CppParser::Declaration* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Declaration(::CppSharp::CppParser::Declaration* native); + Declaration(System::IntPtr native); + Declaration(); + + property CppSharp::Parser::AccessSpecifier Access + { + CppSharp::Parser::AccessSpecifier get(); + void set(CppSharp::Parser::AccessSpecifier); + } + property CppSharp::Parser::DeclarationContext^ _Namespace + { + CppSharp::Parser::DeclarationContext^ get(); + void set(CppSharp::Parser::DeclarationContext^); + } + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::RawComment^ Comment + { + CppSharp::Parser::RawComment^ get(); + void set(CppSharp::Parser::RawComment^); + } + property System::String^ DebugText + { + System::String^ get(); + void set(System::String^); + } + property bool IsIncomplete + { + bool get(); + void set(bool); + } + property bool IsDependent + { + bool get(); + void set(bool); + } + property CppSharp::Parser::Declaration^ CompleteDeclaration + { + CppSharp::Parser::Declaration^ get(); + void set(CppSharp::Parser::Declaration^); + } + property unsigned int DefinitionOrder + { + unsigned int get(); + void set(unsigned int); + } + property System::Collections::Generic::List^ PreprocessedEntities + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::IntPtr OriginalPtr + { + System::IntPtr get(); + void set(System::IntPtr); + } + }; + + public ref class DeclarationContext : CppSharp::Parser::Declaration + { + public: + + DeclarationContext(::CppSharp::CppParser::DeclarationContext* native); + DeclarationContext(System::IntPtr native); + DeclarationContext(); + + property System::Collections::Generic::List^ Namespaces + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Enums + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Functions + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Classes + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Templates + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Typedefs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Variables + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + CppSharp::Parser::Declaration^ FindAnonymous(unsigned long long key); + + CppSharp::Parser::Namespace^ FindNamespace(System::String^ Name); + + CppSharp::Parser::Namespace^ FindNamespace(System::Collections::Generic::List^ _0); + + CppSharp::Parser::Namespace^ FindCreateNamespace(System::String^ Name); + + CppSharp::Parser::Class^ CreateClass(System::String^ Name, bool IsComplete); + + CppSharp::Parser::Class^ FindClass(System::String^ Name); + + CppSharp::Parser::Class^ FindClass(System::String^ Name, bool IsComplete, bool Create); + + CppSharp::Parser::Enumeration^ FindEnum(System::String^ Name, bool Create); + + CppSharp::Parser::Function^ FindFunction(System::String^ Name, bool Create); + + CppSharp::Parser::TypedefDecl^ FindTypedef(System::String^ Name, bool Create); + + }; + + public ref class TypedefDecl : CppSharp::Parser::Declaration + { + public: + + TypedefDecl(::CppSharp::CppParser::TypedefDecl* native); + TypedefDecl(System::IntPtr native); + TypedefDecl(); + + property CppSharp::Parser::QualifiedType^ QualifiedType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + }; + + public ref class Parameter : CppSharp::Parser::Declaration + { + public: + + Parameter(::CppSharp::CppParser::Parameter* native); + Parameter(System::IntPtr native); + Parameter(); + + property CppSharp::Parser::QualifiedType^ QualifiedType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property bool IsIndirect + { + bool get(); + void set(bool); + } + property bool HasDefaultValue + { + bool get(); + void set(bool); + } + }; + + public ref class Function : CppSharp::Parser::Declaration + { + public: + + Function(::CppSharp::CppParser::Function* native); + Function(System::IntPtr native); + Function(); + + property CppSharp::Parser::QualifiedType^ ReturnType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property bool IsReturnIndirect + { + bool get(); + void set(bool); + } + property bool IsVariadic + { + bool get(); + void set(bool); + } + property bool IsInline + { + bool get(); + void set(bool); + } + property bool IsPure + { + bool get(); + void set(bool); + } + property CppSharp::Parser::CXXOperatorKind OperatorKind + { + CppSharp::Parser::CXXOperatorKind get(); + void set(CppSharp::Parser::CXXOperatorKind); + } + property System::String^ Mangled + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::CallingConvention CallingConvention + { + CppSharp::Parser::CallingConvention get(); + void set(CppSharp::Parser::CallingConvention); + } + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class Method : CppSharp::Parser::Function + { + public: + + Method(::CppSharp::CppParser::Method* native); + Method(System::IntPtr native); + Method(); + + property CppSharp::Parser::AccessSpecifierDecl^ AccessDecl + { + CppSharp::Parser::AccessSpecifierDecl^ get(); + void set(CppSharp::Parser::AccessSpecifierDecl^); + } + property bool IsVirtual + { + bool get(); + void set(bool); + } + property bool IsStatic + { + bool get(); + void set(bool); + } + property bool IsConst + { + bool get(); + void set(bool); + } + property bool IsImplicit + { + bool get(); + void set(bool); + } + property bool IsOverride + { + bool get(); + void set(bool); + } + property CppSharp::Parser::CXXMethodKind Kind + { + CppSharp::Parser::CXXMethodKind get(); + void set(CppSharp::Parser::CXXMethodKind); + } + property bool IsDefaultConstructor + { + bool get(); + void set(bool); + } + property bool IsCopyConstructor + { + bool get(); + void set(bool); + } + property bool IsMoveConstructor + { + bool get(); + void set(bool); + } + }; + + public ref class Enumeration : CppSharp::Parser::Declaration + { + public: + + [System::Flags] + enum struct EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + }; + + ref class Item : CppSharp::Parser::Declaration + { + public: + + Item(::CppSharp::CppParser::Enumeration::Item* native); + Item(System::IntPtr native); + Item(); + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + property System::String^ Expression + { + System::String^ get(); + void set(System::String^); + } + property System::String^ Comment + { + System::String^ get(); + void set(System::String^); + } + property unsigned long long Value + { + unsigned long long get(); + void set(unsigned long long); + } + }; + + Enumeration(::CppSharp::CppParser::Enumeration* native); + Enumeration(System::IntPtr native); + Enumeration(); + + property CppSharp::Parser::Enumeration::EnumModifiers Modifiers + { + CppSharp::Parser::Enumeration::EnumModifiers get(); + void set(CppSharp::Parser::Enumeration::EnumModifiers); + } + property CppSharp::Parser::Type^ Type + { + CppSharp::Parser::Type^ get(); + void set(CppSharp::Parser::Type^); + } + property CppSharp::Parser::BuiltinType^ BuiltinType + { + CppSharp::Parser::BuiltinType^ get(); + void set(CppSharp::Parser::BuiltinType^); + } + property System::Collections::Generic::List^ Items + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class Variable : CppSharp::Parser::Declaration + { + public: + + Variable(::CppSharp::CppParser::Variable* native); + Variable(System::IntPtr native); + Variable(); + + property System::String^ Mangled + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::QualifiedType^ QualifiedType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + }; + + public ref class BaseClassSpecifier : ICppInstance + { + public: + + property ::CppSharp::CppParser::BaseClassSpecifier* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + BaseClassSpecifier(::CppSharp::CppParser::BaseClassSpecifier* native); + BaseClassSpecifier(System::IntPtr native); + BaseClassSpecifier(); + + property CppSharp::Parser::AccessSpecifier Access + { + CppSharp::Parser::AccessSpecifier get(); + void set(CppSharp::Parser::AccessSpecifier); + } + property bool IsVirtual + { + bool get(); + void set(bool); + } + property CppSharp::Parser::Type^ Type + { + CppSharp::Parser::Type^ get(); + void set(CppSharp::Parser::Type^); + } + }; + + public ref class Field : CppSharp::Parser::Declaration + { + public: + + Field(::CppSharp::CppParser::Field* native); + Field(System::IntPtr native); + Field(); + + property CppSharp::Parser::QualifiedType^ QualifiedType + { + CppSharp::Parser::QualifiedType^ get(); + void set(CppSharp::Parser::QualifiedType^); + } + property CppSharp::Parser::AccessSpecifier Access + { + CppSharp::Parser::AccessSpecifier get(); + void set(CppSharp::Parser::AccessSpecifier); + } + property unsigned int Offset + { + unsigned int get(); + void set(unsigned int); + } + property CppSharp::Parser::Class^ Class + { + CppSharp::Parser::Class^ get(); + void set(CppSharp::Parser::Class^); + } + }; + + public ref class AccessSpecifierDecl : CppSharp::Parser::Declaration + { + public: + + AccessSpecifierDecl(::CppSharp::CppParser::AccessSpecifierDecl* native); + AccessSpecifierDecl(System::IntPtr native); + AccessSpecifierDecl(); + + }; + + public ref class Class : CppSharp::Parser::DeclarationContext + { + public: + + Class(::CppSharp::CppParser::Class* native); + Class(System::IntPtr native); + Class(); + + property System::Collections::Generic::List^ Bases + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Fields + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Methods + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Specifiers + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property bool IsPOD + { + bool get(); + void set(bool); + } + property bool IsAbstract + { + bool get(); + void set(bool); + } + property bool IsUnion + { + bool get(); + void set(bool); + } + property bool IsDynamic + { + bool get(); + void set(bool); + } + property bool IsPolymorphic + { + bool get(); + void set(bool); + } + property bool HasNonTrivialDefaultConstructor + { + bool get(); + void set(bool); + } + property bool HasNonTrivialCopyConstructor + { + bool get(); + void set(bool); + } + property CppSharp::Parser::ClassLayout^ Layout + { + CppSharp::Parser::ClassLayout^ get(); + void set(CppSharp::Parser::ClassLayout^); + } + }; + + public ref class Template : CppSharp::Parser::Declaration + { + public: + + Template(::CppSharp::CppParser::Template* native); + Template(System::IntPtr native); + Template(); + + property CppSharp::Parser::Declaration^ TemplatedDecl + { + CppSharp::Parser::Declaration^ get(); + void set(CppSharp::Parser::Declaration^); + } + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class ClassTemplate : CppSharp::Parser::Template + { + public: + + ClassTemplate(::CppSharp::CppParser::ClassTemplate* native); + ClassTemplate(System::IntPtr native); + ClassTemplate(); + + }; + + public ref class ClassTemplateSpecialization : CppSharp::Parser::Declaration + { + public: + + ClassTemplateSpecialization(::CppSharp::CppParser::ClassTemplateSpecialization* native); + ClassTemplateSpecialization(System::IntPtr native); + ClassTemplateSpecialization(); + + }; + + public ref class ClassTemplatePartialSpecialization : CppSharp::Parser::Declaration + { + public: + + ClassTemplatePartialSpecialization(::CppSharp::CppParser::ClassTemplatePartialSpecialization* native); + ClassTemplatePartialSpecialization(System::IntPtr native); + ClassTemplatePartialSpecialization(); + + }; + + public ref class FunctionTemplate : CppSharp::Parser::Template + { + public: + + FunctionTemplate(::CppSharp::CppParser::FunctionTemplate* native); + FunctionTemplate(System::IntPtr native); + FunctionTemplate(); + + }; + + public ref class Namespace : CppSharp::Parser::DeclarationContext + { + public: + + Namespace(::CppSharp::CppParser::Namespace* native); + Namespace(System::IntPtr native); + Namespace(); + + }; + + public ref class PreprocessedEntity : CppSharp::Parser::Declaration + { + public: + + PreprocessedEntity(::CppSharp::CppParser::PreprocessedEntity* native); + PreprocessedEntity(System::IntPtr native); + PreprocessedEntity(); + + property CppSharp::Parser::MacroLocation Location + { + CppSharp::Parser::MacroLocation get(); + void set(CppSharp::Parser::MacroLocation); + } + }; + + public ref class MacroDefinition : CppSharp::Parser::PreprocessedEntity + { + public: + + MacroDefinition(::CppSharp::CppParser::MacroDefinition* native); + MacroDefinition(System::IntPtr native); + MacroDefinition(); + + property System::String^ Expression + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class MacroExpansion : CppSharp::Parser::PreprocessedEntity + { + public: + + MacroExpansion(::CppSharp::CppParser::MacroExpansion* native); + MacroExpansion(System::IntPtr native); + MacroExpansion(); + + property System::String^ Text + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::MacroDefinition^ Definition + { + CppSharp::Parser::MacroDefinition^ get(); + void set(CppSharp::Parser::MacroDefinition^); + } + }; + + public ref class TranslationUnit : CppSharp::Parser::Namespace + { + public: + + TranslationUnit(::CppSharp::CppParser::TranslationUnit* native); + TranslationUnit(System::IntPtr native); + TranslationUnit(); + + property System::String^ FileName + { + System::String^ get(); + void set(System::String^); + } + property bool IsSystemHeader + { + bool get(); + void set(bool); + } + property System::Collections::Generic::List^ Namespaces + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Macros + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class NativeLibrary : ICppInstance + { + public: + + property ::CppSharp::CppParser::NativeLibrary* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + NativeLibrary(::CppSharp::CppParser::NativeLibrary* native); + NativeLibrary(System::IntPtr native); + NativeLibrary(); + + property System::String^ FileName + { + System::String^ get(); + void set(System::String^); + } + property System::Collections::Generic::List^ Symbols + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class Library : ICppInstance + { + public: + + property ::CppSharp::CppParser::Library* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Library(::CppSharp::CppParser::Library* native); + Library(System::IntPtr native); + Library(); + + property System::Collections::Generic::List^ TranslationUnits + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Libraries + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + CppSharp::Parser::TranslationUnit^ FindOrCreateModule(System::String^ File); + + CppSharp::Parser::NativeLibrary^ FindOrCreateLibrary(System::String^ File); + + }; + } +} diff --git a/src/CppParser/Bindings/CLI/CppParser.cpp b/src/CppParser/Bindings/CLI/CppParser.cpp new file mode 100644 index 00000000..be58282b --- /dev/null +++ b/src/CppParser/Bindings/CLI/CppParser.cpp @@ -0,0 +1,396 @@ +#include "CppParser.h" +#include "AST.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::ParserOptions::ParserOptions(::CppSharp::CppParser::ParserOptions* native) +{ + NativePtr = native; +} + +CppSharp::Parser::ParserOptions::ParserOptions(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::ParserOptions*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::ParserOptions::ParserOptions() +{ + NativePtr = new ::CppSharp::CppParser::ParserOptions(); +} + +System::IntPtr CppSharp::Parser::ParserOptions::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::ParserOptions::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::ParserOptions*)object.ToPointer(); +} + +System::Collections::Generic::List^ CppSharp::Parser::ParserOptions::IncludeDirs::get() +{ + auto _tmpIncludeDirs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ParserOptions*)NativePtr)->IncludeDirs) + { + auto _marshalElement = clix::marshalString(_element); + _tmpIncludeDirs->Add(_marshalElement); + } + return _tmpIncludeDirs; +} + +void CppSharp::Parser::ParserOptions::IncludeDirs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::std::string>(); + for each(System::String^ _element in value) + { + auto _marshalElement = clix::marshalString(_element); + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->IncludeDirs = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::ParserOptions::SystemIncludeDirs::get() +{ + auto _tmpSystemIncludeDirs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ParserOptions*)NativePtr)->SystemIncludeDirs) + { + auto _marshalElement = clix::marshalString(_element); + _tmpSystemIncludeDirs->Add(_marshalElement); + } + return _tmpSystemIncludeDirs; +} + +void CppSharp::Parser::ParserOptions::SystemIncludeDirs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::std::string>(); + for each(System::String^ _element in value) + { + auto _marshalElement = clix::marshalString(_element); + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->SystemIncludeDirs = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::ParserOptions::Defines::get() +{ + auto _tmpDefines = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Defines) + { + auto _marshalElement = clix::marshalString(_element); + _tmpDefines->Add(_marshalElement); + } + return _tmpDefines; +} + +void CppSharp::Parser::ParserOptions::Defines::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::std::string>(); + for each(System::String^ _element in value) + { + auto _marshalElement = clix::marshalString(_element); + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Defines = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::ParserOptions::LibraryDirs::get() +{ + auto _tmpLibraryDirs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ParserOptions*)NativePtr)->LibraryDirs) + { + auto _marshalElement = clix::marshalString(_element); + _tmpLibraryDirs->Add(_marshalElement); + } + return _tmpLibraryDirs; +} + +void CppSharp::Parser::ParserOptions::LibraryDirs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::std::string>(); + for each(System::String^ _element in value) + { + auto _marshalElement = clix::marshalString(_element); + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->LibraryDirs = _tmpvalue; +} + +System::String^ CppSharp::Parser::ParserOptions::FileName::get() +{ + return clix::marshalString(((::CppSharp::CppParser::ParserOptions*)NativePtr)->FileName); +} + +void CppSharp::Parser::ParserOptions::FileName::set(System::String^ value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->FileName = clix::marshalString(value); +} + +CppSharp::Parser::Library^ CppSharp::Parser::ParserOptions::Library::get() +{ + return gcnew CppSharp::Parser::Library((::CppSharp::CppParser::Library*)((::CppSharp::CppParser::ParserOptions*)NativePtr)->Library); +} + +void CppSharp::Parser::ParserOptions::Library::set(CppSharp::Parser::Library^ value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Library = (::CppSharp::CppParser::Library*)value->NativePtr; +} + +int CppSharp::Parser::ParserOptions::ToolSetToUse::get() +{ + return ((::CppSharp::CppParser::ParserOptions*)NativePtr)->ToolSetToUse; +} + +void CppSharp::Parser::ParserOptions::ToolSetToUse::set(int value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->ToolSetToUse = value; +} + +System::String^ CppSharp::Parser::ParserOptions::TargetTriple::get() +{ + return clix::marshalString(((::CppSharp::CppParser::ParserOptions*)NativePtr)->TargetTriple); +} + +void CppSharp::Parser::ParserOptions::TargetTriple::set(System::String^ value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->TargetTriple = clix::marshalString(value); +} + +bool CppSharp::Parser::ParserOptions::NoStandardIncludes::get() +{ + return ((::CppSharp::CppParser::ParserOptions*)NativePtr)->NoStandardIncludes; +} + +void CppSharp::Parser::ParserOptions::NoStandardIncludes::set(bool value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->NoStandardIncludes = value; +} + +bool CppSharp::Parser::ParserOptions::NoBuiltinIncludes::get() +{ + return ((::CppSharp::CppParser::ParserOptions*)NativePtr)->NoBuiltinIncludes; +} + +void CppSharp::Parser::ParserOptions::NoBuiltinIncludes::set(bool value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->NoBuiltinIncludes = value; +} + +bool CppSharp::Parser::ParserOptions::MicrosoftMode::get() +{ + return ((::CppSharp::CppParser::ParserOptions*)NativePtr)->MicrosoftMode; +} + +void CppSharp::Parser::ParserOptions::MicrosoftMode::set(bool value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->MicrosoftMode = value; +} + +CppSharp::Parser::CppAbi CppSharp::Parser::ParserOptions::Abi::get() +{ + return (CppSharp::Parser::CppAbi)((::CppSharp::CppParser::ParserOptions*)NativePtr)->Abi; +} + +void CppSharp::Parser::ParserOptions::Abi::set(CppSharp::Parser::CppAbi value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Abi = (::CppSharp::CppParser::CppAbi)value; +} + +bool CppSharp::Parser::ParserOptions::Verbose::get() +{ + return ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Verbose; +} + +void CppSharp::Parser::ParserOptions::Verbose::set(bool value) +{ + ((::CppSharp::CppParser::ParserOptions*)NativePtr)->Verbose = value; +} + +CppSharp::Parser::ParserDiagnostic::ParserDiagnostic(::CppSharp::CppParser::ParserDiagnostic* native) +{ + NativePtr = native; +} + +CppSharp::Parser::ParserDiagnostic::ParserDiagnostic(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::ParserDiagnostic*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::ParserDiagnostic::ParserDiagnostic() +{ + NativePtr = new ::CppSharp::CppParser::ParserDiagnostic(); +} + +System::IntPtr CppSharp::Parser::ParserDiagnostic::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::ParserDiagnostic::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::ParserDiagnostic*)object.ToPointer(); +} + +System::String^ CppSharp::Parser::ParserDiagnostic::FileName::get() +{ + return clix::marshalString(((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->FileName); +} + +void CppSharp::Parser::ParserDiagnostic::FileName::set(System::String^ value) +{ + ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->FileName = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::ParserDiagnostic::Message::get() +{ + return clix::marshalString(((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->Message); +} + +void CppSharp::Parser::ParserDiagnostic::Message::set(System::String^ value) +{ + ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->Message = clix::marshalString(value); +} + +CppSharp::Parser::ParserDiagnosticLevel CppSharp::Parser::ParserDiagnostic::Level::get() +{ + return (CppSharp::Parser::ParserDiagnosticLevel)((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->Level; +} + +void CppSharp::Parser::ParserDiagnostic::Level::set(CppSharp::Parser::ParserDiagnosticLevel value) +{ + ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->Level = (::CppSharp::CppParser::ParserDiagnosticLevel)value; +} + +int CppSharp::Parser::ParserDiagnostic::LineNumber::get() +{ + return ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->LineNumber; +} + +void CppSharp::Parser::ParserDiagnostic::LineNumber::set(int value) +{ + ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->LineNumber = value; +} + +int CppSharp::Parser::ParserDiagnostic::ColumnNumber::get() +{ + return ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->ColumnNumber; +} + +void CppSharp::Parser::ParserDiagnostic::ColumnNumber::set(int value) +{ + ((::CppSharp::CppParser::ParserDiagnostic*)NativePtr)->ColumnNumber = value; +} + +CppSharp::Parser::ParserResult::ParserResult(::CppSharp::CppParser::ParserResult* native) +{ + NativePtr = native; +} + +CppSharp::Parser::ParserResult::ParserResult(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::ParserResult*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::ParserResult::ParserResult() +{ + NativePtr = new ::CppSharp::CppParser::ParserResult(); +} + +System::IntPtr CppSharp::Parser::ParserResult::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::ParserResult::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::ParserResult*)object.ToPointer(); +} + +CppSharp::Parser::ParserResultKind CppSharp::Parser::ParserResult::Kind::get() +{ + return (CppSharp::Parser::ParserResultKind)((::CppSharp::CppParser::ParserResult*)NativePtr)->Kind; +} + +void CppSharp::Parser::ParserResult::Kind::set(CppSharp::Parser::ParserResultKind value) +{ + ((::CppSharp::CppParser::ParserResult*)NativePtr)->Kind = (::CppSharp::CppParser::ParserResultKind)value; +} + +CppSharp::Parser::Library^ CppSharp::Parser::ParserResult::Library::get() +{ + return gcnew CppSharp::Parser::Library((::CppSharp::CppParser::Library*)((::CppSharp::CppParser::ParserResult*)NativePtr)->Library); +} + +void CppSharp::Parser::ParserResult::Library::set(CppSharp::Parser::Library^ value) +{ + ((::CppSharp::CppParser::ParserResult*)NativePtr)->Library = (::CppSharp::CppParser::Library*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::ParserResult::Diagnostics::get() +{ + auto _tmpDiagnostics = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::ParserResult*)NativePtr)->Diagnostics) + { + auto ___element = new ::CppSharp::CppParser::ParserDiagnostic(_element); + auto _marshalElement = gcnew CppSharp::Parser::ParserDiagnostic((::CppSharp::CppParser::ParserDiagnostic*)___element); + _tmpDiagnostics->Add(_marshalElement); + } + return _tmpDiagnostics; +} + +void CppSharp::Parser::ParserResult::Diagnostics::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::ParserDiagnostic>(); + for each(CppSharp::Parser::ParserDiagnostic^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::ParserDiagnostic*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::ParserResult*)NativePtr)->Diagnostics = _tmpvalue; +} + +CppSharp::Parser::ClangParser::ClangParser(::CppSharp::CppParser::ClangParser* native) +{ + NativePtr = native; +} + +CppSharp::Parser::ClangParser::ClangParser(System::IntPtr native) +{ + auto __native = (::CppSharp::CppParser::ClangParser*)native.ToPointer(); + NativePtr = __native; +} + +CppSharp::Parser::ParserResult^ CppSharp::Parser::ClangParser::ParseHeader(CppSharp::Parser::ParserOptions^ Opts) +{ + auto arg0 = (::CppSharp::CppParser::ParserOptions*)Opts->NativePtr; + auto __ret = ::CppSharp::CppParser::ClangParser::ParseHeader(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::ParserResult((::CppSharp::CppParser::ParserResult*)__ret); +} + +CppSharp::Parser::ParserResult^ CppSharp::Parser::ClangParser::ParseLibrary(CppSharp::Parser::ParserOptions^ Opts) +{ + auto arg0 = (::CppSharp::CppParser::ParserOptions*)Opts->NativePtr; + auto __ret = ::CppSharp::CppParser::ClangParser::ParseLibrary(arg0); + if (__ret == nullptr) return nullptr; + return gcnew CppSharp::Parser::ParserResult((::CppSharp::CppParser::ParserResult*)__ret); +} + +CppSharp::Parser::ClangParser::ClangParser() +{ + NativePtr = new ::CppSharp::CppParser::ClangParser(); +} + +System::IntPtr CppSharp::Parser::ClangParser::Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::ClangParser::Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::ClangParser*)object.ToPointer(); +} diff --git a/src/CppParser/Bindings/CLI/CppParser.h b/src/CppParser/Bindings/CLI/CppParser.h new file mode 100644 index 00000000..6b816a69 --- /dev/null +++ b/src/CppParser/Bindings/CLI/CppParser.h @@ -0,0 +1,231 @@ +#pragma once + +#include "CppSharp.h" +#include + +namespace CppSharp +{ + enum struct CppAbi; + enum struct ParserDiagnosticLevel; + enum struct ParserResultKind; + enum struct SourceLocationKind; + ref class ClangParser; + ref class Library; + ref class ParserDiagnostic; + ref class ParserOptions; + ref class ParserResult; + + namespace Parser + { + enum struct CppAbi; + enum struct ParserDiagnosticLevel; + enum struct ParserResultKind; + ref class ClangParser; + ref class Library; + ref class ParserDiagnostic; + ref class ParserOptions; + ref class ParserResult; + + public enum struct ParserDiagnosticLevel + { + Ignored = 0, + Note = 1, + Warning = 2, + Error = 3, + Fatal = 4 + }; + + public enum struct ParserResultKind + { + Success = 0, + Error = 1, + FileNotFound = 2 + }; + + public enum struct SourceLocationKind + { + Invalid = 0, + Builtin = 1, + CommandLine = 2, + System = 3, + User = 4 + }; + + public ref class ParserOptions : ICppInstance + { + public: + + property ::CppSharp::CppParser::ParserOptions* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ParserOptions(::CppSharp::CppParser::ParserOptions* native); + ParserOptions(System::IntPtr native); + ParserOptions(); + + property System::Collections::Generic::List^ IncludeDirs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ SystemIncludeDirs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ Defines + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::Collections::Generic::List^ LibraryDirs + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + property System::String^ FileName + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::Library^ Library + { + CppSharp::Parser::Library^ get(); + void set(CppSharp::Parser::Library^); + } + property int ToolSetToUse + { + int get(); + void set(int); + } + property System::String^ TargetTriple + { + System::String^ get(); + void set(System::String^); + } + property bool NoStandardIncludes + { + bool get(); + void set(bool); + } + property bool NoBuiltinIncludes + { + bool get(); + void set(bool); + } + property bool MicrosoftMode + { + bool get(); + void set(bool); + } + property CppSharp::Parser::CppAbi Abi + { + CppSharp::Parser::CppAbi get(); + void set(CppSharp::Parser::CppAbi); + } + property bool Verbose + { + bool get(); + void set(bool); + } + }; + + public ref class ParserDiagnostic : ICppInstance + { + public: + + property ::CppSharp::CppParser::ParserDiagnostic* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ParserDiagnostic(::CppSharp::CppParser::ParserDiagnostic* native); + ParserDiagnostic(System::IntPtr native); + ParserDiagnostic(); + + property System::String^ FileName + { + System::String^ get(); + void set(System::String^); + } + property System::String^ Message + { + System::String^ get(); + void set(System::String^); + } + property CppSharp::Parser::ParserDiagnosticLevel Level + { + CppSharp::Parser::ParserDiagnosticLevel get(); + void set(CppSharp::Parser::ParserDiagnosticLevel); + } + property int LineNumber + { + int get(); + void set(int); + } + property int ColumnNumber + { + int get(); + void set(int); + } + }; + + public ref class ParserResult : ICppInstance + { + public: + + property ::CppSharp::CppParser::ParserResult* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ParserResult(::CppSharp::CppParser::ParserResult* native); + ParserResult(System::IntPtr native); + ParserResult(); + + property CppSharp::Parser::ParserResultKind Kind + { + CppSharp::Parser::ParserResultKind get(); + void set(CppSharp::Parser::ParserResultKind); + } + property CppSharp::Parser::Library^ Library + { + CppSharp::Parser::Library^ get(); + void set(CppSharp::Parser::Library^); + } + property System::Collections::Generic::List^ Diagnostics + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + }; + + public ref class ClangParser : ICppInstance + { + public: + + property ::CppSharp::CppParser::ClangParser* NativePtr; + property System::IntPtr Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ClangParser(::CppSharp::CppParser::ClangParser* native); + ClangParser(System::IntPtr native); + ClangParser(); + + static CppSharp::Parser::ParserResult^ ParseHeader(CppSharp::Parser::ParserOptions^ Opts); + + static CppSharp::Parser::ParserResult^ ParseLibrary(CppSharp::Parser::ParserOptions^ Opts); + + }; + } +} diff --git a/src/CppParser/Bindings/CSharp/AST.cs b/src/CppParser/Bindings/CSharp/AST.cs new file mode 100644 index 00000000..91d44d22 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/AST.cs @@ -0,0 +1,5355 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using CppSharp.Runtime; +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + Array_New = 3, + Array_Delete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + AmpAmp = 34, + PipePipe = 35, + PlusPlus = 36, + MinusMinus = 37, + Comma = 38, + ArrowStar = 39, + Arrow = 40, + Call = 41, + Subscript = 42, + Conditional = 43 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Int8 = 4, + Char = 4, + UInt8 = 5, + UChar = 5, + Int16 = 6, + UInt16 = 7, + Int32 = 8, + UInt32 = 9, + Int64 = 10, + UInt64 = 11, + Float = 12, + Double = 13, + IntPtr = 14 + } + + public enum RawCommentKind + { + Invalid = 0, + OrdinaryBCPL = 1, + OrdinaryC = 2, + BCPLSlash = 3, + BCPLExcl = 4, + JavaDoc = 5, + Qt = 6, + Merged = 7 + } + + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } + + public unsafe partial class Type : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Type@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Type0(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Type(Type.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Type(Type.Internal native) + : this(&native) + { + } + + internal Type(global::System.IntPtr native) + { + __Instance = native; + } + + public Type() + { + __Instance = Marshal.AllocHGlobal(1); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class TypeQualifiers : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 3)] + public struct Internal + { + [FieldOffset(0)] + public bool IsConst; + + [FieldOffset(1)] + public bool IsVolatile; + + [FieldOffset(2)] + public bool IsRestrict; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypeQualifiers@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TypeQualifiers0(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TypeQualifiers(TypeQualifiers.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypeQualifiers(TypeQualifiers.Internal native) + : this(&native) + { + } + + internal TypeQualifiers(global::System.IntPtr native) + { + __Instance = native; + } + + public TypeQualifiers() + { + __Instance = Marshal.AllocHGlobal(3); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public bool IsConst + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsConst; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsConst = value; + } + } + + public bool IsVolatile + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVolatile; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVolatile = value; + } + } + + public bool IsRestrict + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsRestrict; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsRestrict = value; + } + } + } + + public unsafe partial class QualifiedType : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Type; + + [FieldOffset(4)] + public CppSharp.Parser.TypeQualifiers.Internal Qualifiers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0QualifiedType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr QualifiedType0(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal QualifiedType(QualifiedType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal QualifiedType(QualifiedType.Internal native) + : this(&native) + { + } + + internal QualifiedType(global::System.IntPtr native) + { + __Instance = native; + } + + public QualifiedType() + { + __Instance = Marshal.AllocHGlobal(8); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Type); + return new CppSharp.Parser.Type(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value.__Instance; + } + } + + public CppSharp.Parser.TypeQualifiers Qualifiers + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Qualifiers); + var __instance = Marshal.AllocHGlobal(3); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(3)); + return new CppSharp.Parser.TypeQualifiers(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Qualifiers = *(CppSharp.Parser.TypeQualifiers.Internal*)value.__Instance; + } + } + } + + public unsafe partial class TagType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TagType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TagType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TagType(TagType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TagType(TagType.Internal native) + : this(&native) + { + } + + internal TagType(global::System.IntPtr native) + : base(native) + { + } + + public TagType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(4); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Declaration); + return new CppSharp.Parser.Declaration(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value.__Instance; + } + } + } + + public unsafe partial class ArrayType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal QualifiedType; + + [FieldOffset(8)] + public CppSharp.Parser.ArrayType.ArraySize SizeType; + + [FieldOffset(12)] + public int Size; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ArrayType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ArrayType(ArrayType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ArrayType(ArrayType.Internal native) + : this(&native) + { + } + + internal ArrayType(global::System.IntPtr native) + : base(native) + { + } + + public ArrayType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(16); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.ArrayType.ArraySize SizeType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->SizeType; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SizeType = value; + } + } + + public int Size + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Size; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Size = value; + } + } + } + + public unsafe partial class FunctionType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal ReturnType; + + [FieldOffset(8)] + public Std.Vector Parameters; + + [FieldOffset(20)] + public CppSharp.Parser.CallingConvention CallingConvention; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr FunctionType1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr FunctionType2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal FunctionType(FunctionType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FunctionType(FunctionType.Internal native) + : this(&native) + { + } + + internal FunctionType(global::System.IntPtr native) + : base(native) + { + } + + public FunctionType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + Internal.FunctionType1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType ReturnType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->ReturnType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ReturnType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public Std.Vector Parameters + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Parameters); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Parameters = value.Internal; + } + } + + public CppSharp.Parser.CallingConvention CallingConvention + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CallingConvention; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CallingConvention = value; + } + } + } + + public unsafe partial class PointerType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal QualifiedPointee; + + [FieldOffset(8)] + public CppSharp.Parser.PointerType.TypeModifier Modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PointerType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr PointerType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal PointerType(PointerType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal PointerType(PointerType.Internal native) + : this(&native) + { + } + + internal PointerType(global::System.IntPtr native) + : base(native) + { + } + + public PointerType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(12); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType QualifiedPointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedPointee); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedPointee = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.PointerType.TypeModifier Modifier + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Modifier; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Modifier = value; + } + } + } + + public unsafe partial class MemberPointerType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberPointerType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr MemberPointerType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal MemberPointerType(MemberPointerType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MemberPointerType(MemberPointerType.Internal native) + : this(&native) + { + } + + internal MemberPointerType(global::System.IntPtr native) + : base(native) + { + } + + public MemberPointerType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(8); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType Pointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Pointee); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Pointee = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + } + + public unsafe partial class TypedefType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TypedefType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TypedefType(TypedefType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypedefType(TypedefType.Internal native) + : this(&native) + { + } + + internal TypedefType(global::System.IntPtr native) + : base(native) + { + } + + public TypedefType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(4); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.TypedefDecl Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Declaration); + return new CppSharp.Parser.TypedefDecl(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value.__Instance; + } + } + } + + public unsafe partial class DecayedType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal Decayed; + + [FieldOffset(8)] + public CppSharp.Parser.QualifiedType.Internal Original; + + [FieldOffset(16)] + public CppSharp.Parser.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DecayedType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr DecayedType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal DecayedType(DecayedType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DecayedType(DecayedType.Internal native) + : this(&native) + { + } + + internal DecayedType(global::System.IntPtr native) + : base(native) + { + } + + public DecayedType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType Decayed + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Decayed); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Decayed = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.QualifiedType Original + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Original); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Original = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.QualifiedType Pointee + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Pointee); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Pointee = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + } + + public unsafe partial class TemplateArgument : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.TemplateArgument.ArgumentKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.QualifiedType.Internal Type; + + [FieldOffset(12)] + public global::System.IntPtr Declaration; + + [FieldOffset(16)] + public int Integral; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateArgument@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TemplateArgument1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum ArgumentKind + { + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TemplateArgument(TemplateArgument.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateArgument(TemplateArgument.Internal native) + : this(&native) + { + } + + internal TemplateArgument(global::System.IntPtr native) + { + __Instance = native; + } + + public TemplateArgument() + { + __Instance = Marshal.AllocHGlobal(20); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.TemplateArgument.ArgumentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.QualifiedType Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Type); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Declaration); + return new CppSharp.Parser.Declaration(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value.__Instance; + } + } + + public int Integral + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Integral; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Integral = value; + } + } + } + + public unsafe partial class TemplateSpecializationType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new struct Internal + { + [FieldOffset(0)] + public Std.Vector Arguments; + + [FieldOffset(12)] + public global::System.IntPtr Template; + + [FieldOffset(16)] + public global::System.IntPtr Desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateSpecializationType@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr TemplateSpecializationType1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateSpecializationType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TemplateSpecializationType2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TemplateSpecializationType(TemplateSpecializationType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateSpecializationType(TemplateSpecializationType.Internal native) + : this(&native) + { + } + + internal TemplateSpecializationType(global::System.IntPtr native) + : base(native) + { + } + + public TemplateSpecializationType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(20); + Internal.TemplateSpecializationType1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.Vector Arguments + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Arguments); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Arguments = value.Internal; + } + } + + public CppSharp.Parser.Template Template + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Template); + return new CppSharp.Parser.Template(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Template = value.__Instance; + } + } + + public CppSharp.Parser.Type Desugared + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Desugared); + return new CppSharp.Parser.Type(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Desugared = value.__Instance; + } + } + } + + public unsafe partial class TemplateParameter : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public struct Internal + { + [FieldOffset(0)] + public Std.String Name; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameter@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr TemplateParameter1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameter@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TemplateParameter2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TemplateParameter(TemplateParameter.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameter(TemplateParameter.Internal native) + : this(&native) + { + } + + internal TemplateParameter(global::System.IntPtr native) + { + __Instance = native; + } + + public TemplateParameter() + { + __Instance = Marshal.AllocHGlobal(24); + Internal.TemplateParameter1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public Std.String Name + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Name; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Name = new Std.String(); + } + } + } + + public unsafe partial class TemplateParameterType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.TemplateParameter.Internal Parameter; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameterType@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr TemplateParameterType0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameterType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TemplateParameterType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TemplateParameterType(TemplateParameterType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameterType(TemplateParameterType.Internal native) + : this(&native) + { + } + + internal TemplateParameterType(global::System.IntPtr native) + : base(native) + { + } + + public TemplateParameterType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(24); + Internal.TemplateParameterType0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.TemplateParameter Parameter + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Parameter); + var __instance = Marshal.AllocHGlobal(24); + CppSharp.Parser.TemplateParameter.Internal.TemplateParameter2(__instance, new global::System.IntPtr(&__copy)); + return new CppSharp.Parser.TemplateParameter(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Parameter = *(CppSharp.Parser.TemplateParameter.Internal*)value.__Instance; + } + } + } + + public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.QualifiedType.Internal Replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameterSubstitutionType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TemplateParameterSubstitutionType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native) + : this(&native) + { + } + + internal TemplateParameterSubstitutionType(global::System.IntPtr native) + : base(native) + { + } + + public TemplateParameterSubstitutionType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(8); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType Replacement + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Replacement); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Replacement = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + } + + public unsafe partial class InjectedClassNameType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new struct Internal + { + [FieldOffset(4)] + public CppSharp.Parser.TemplateSpecializationType.Internal TemplateSpecialization; + + [FieldOffset(24)] + public global::System.IntPtr Class; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0InjectedClassNameType@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr InjectedClassNameType0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0InjectedClassNameType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr InjectedClassNameType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal InjectedClassNameType(InjectedClassNameType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal InjectedClassNameType(InjectedClassNameType.Internal native) + : this(&native) + { + } + + internal InjectedClassNameType(global::System.IntPtr native) + : base(native) + { + } + + public InjectedClassNameType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(28); + Internal.InjectedClassNameType0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.TemplateSpecializationType TemplateSpecialization + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->TemplateSpecialization); + var __instance = Marshal.AllocHGlobal(20); + CppSharp.Parser.TemplateSpecializationType.Internal.TemplateSpecializationType2(__instance, new global::System.IntPtr(&__copy)); + return new CppSharp.Parser.TemplateSpecializationType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TemplateSpecialization = *(CppSharp.Parser.TemplateSpecializationType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.Class Class + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Class); + return new CppSharp.Parser.Class(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Class = value.__Instance; + } + } + } + + public unsafe partial class DependentNameType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentNameType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr DependentNameType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal DependentNameType(DependentNameType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DependentNameType(DependentNameType.Internal native) + : this(&native) + { + } + + internal DependentNameType(global::System.IntPtr native) + : base(native) + { + } + + public DependentNameType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(1); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class BuiltinType : CppSharp.Parser.Type, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.PrimitiveType Type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BuiltinType@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr BuiltinType1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal BuiltinType(BuiltinType.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal BuiltinType(BuiltinType.Internal native) + : this(&native) + { + } + + internal BuiltinType(global::System.IntPtr native) + : base(native) + { + } + + public BuiltinType() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(4); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.PrimitiveType Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Type; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value; + } + } + } + + public unsafe partial class RawComment : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.RawCommentKind Kind; + + [FieldOffset(4)] + public Std.String Text; + + [FieldOffset(28)] + public Std.String BriefText; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0RawComment@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr RawComment1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0RawComment@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr RawComment2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal RawComment(RawComment.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal RawComment(RawComment.Internal native) + : this(&native) + { + } + + internal RawComment(global::System.IntPtr native) + { + __Instance = native; + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(56); + Internal.RawComment1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.RawCommentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public Std.String Text + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Text; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Text = new Std.String(); + } + } + + public Std.String BriefText + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->BriefText; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->BriefText = new Std.String(); + } + } + } + + public unsafe partial class VTableComponent : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.VTableComponentKind Kind; + + [FieldOffset(4)] + public uint Offset; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableComponent@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr VTableComponent1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal VTableComponent(VTableComponent.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VTableComponent(VTableComponent.Internal native) + : this(&native) + { + } + + internal VTableComponent(global::System.IntPtr native) + { + __Instance = native; + } + + public VTableComponent() + { + __Instance = Marshal.AllocHGlobal(12); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.VTableComponentKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public uint Offset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Offset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Offset = value; + } + } + + public CppSharp.Parser.Declaration Declaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Declaration); + return new CppSharp.Parser.Declaration(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Declaration = value.__Instance; + } + } + } + + public unsafe partial class VTableLayout : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public struct Internal + { + [FieldOffset(0)] + public Std.Vector Components; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableLayout@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr VTableLayout1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableLayout@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr VTableLayout2(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal VTableLayout(VTableLayout.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VTableLayout(VTableLayout.Internal native) + : this(&native) + { + } + + internal VTableLayout(global::System.IntPtr native) + { + __Instance = native; + } + + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(12); + Internal.VTableLayout2(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public Std.Vector Components + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Components); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Components = value.Internal; + } + } + } + + public unsafe partial class VFTableInfo : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public struct Internal + { + [FieldOffset(0)] + public ulong VBTableIndex; + + [FieldOffset(8)] + public uint VFPtrOffset; + + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public CppSharp.Parser.VTableLayout.Internal Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VFTableInfo@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr VFTableInfo0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VFTableInfo@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr VFTableInfo1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal VFTableInfo(VFTableInfo.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal VFTableInfo(VFTableInfo.Internal native) + : this(&native) + { + } + + internal VFTableInfo(global::System.IntPtr native) + { + __Instance = native; + } + + public VFTableInfo() + { + __Instance = Marshal.AllocHGlobal(32); + Internal.VFTableInfo0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VBTableIndex; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VBTableIndex = value; + } + } + + public uint VFPtrOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VFPtrOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VFPtrOffset = value; + } + } + + public uint VFPtrFullOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VFPtrFullOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VFPtrFullOffset = value; + } + } + + public CppSharp.Parser.VTableLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Layout); + var __instance = Marshal.AllocHGlobal(12); + CppSharp.Parser.VTableLayout.Internal.VTableLayout1(__instance, new global::System.IntPtr(&__copy)); + return new CppSharp.Parser.VTableLayout(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = *(CppSharp.Parser.VTableLayout.Internal*)value.__Instance; + } + } + } + + public unsafe partial class ClassLayout : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.CppAbi ABI; + + [FieldOffset(4)] + public Std.Vector VFTables; + + [FieldOffset(16)] + public CppSharp.Parser.VTableLayout.Internal Layout; + + [FieldOffset(28)] + public bool HasOwnVFPtr; + + [FieldOffset(32)] + public int VBPtrOffset; + + [FieldOffset(36)] + public int Alignment; + + [FieldOffset(40)] + public int Size; + + [FieldOffset(44)] + public int DataSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassLayout@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ClassLayout1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassLayout@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ClassLayout2(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ClassLayout(ClassLayout.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassLayout(ClassLayout.Internal native) + : this(&native) + { + } + + internal ClassLayout(global::System.IntPtr native) + { + __Instance = native; + } + + public ClassLayout() + { + __Instance = Marshal.AllocHGlobal(48); + Internal.ClassLayout2(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.CppAbi ABI + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ABI; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ABI = value; + } + } + + public Std.Vector VFTables + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->VFTables); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VFTables = value.Internal; + } + } + + public CppSharp.Parser.VTableLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Layout); + var __instance = Marshal.AllocHGlobal(12); + CppSharp.Parser.VTableLayout.Internal.VTableLayout1(__instance, new global::System.IntPtr(&__copy)); + return new CppSharp.Parser.VTableLayout(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = *(CppSharp.Parser.VTableLayout.Internal*)value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasOwnVFPtr; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasOwnVFPtr = value; + } + } + + public int VBPtrOffset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->VBPtrOffset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Alignment; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Alignment = value; + } + } + + public int Size + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Size; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Size = value; + } + } + + public int DataSize + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DataSize; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DataSize = value; + } + } + } + + public unsafe partial class Declaration : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AccessSpecifier Access; + + [FieldOffset(4)] + public global::System.IntPtr _Namespace; + + [FieldOffset(8)] + public Std.String Name; + + [FieldOffset(32)] + public global::System.IntPtr Comment; + + [FieldOffset(36)] + public Std.String DebugText; + + [FieldOffset(60)] + public bool IsIncomplete; + + [FieldOffset(61)] + public bool IsDependent; + + [FieldOffset(64)] + public global::System.IntPtr CompleteDeclaration; + + [FieldOffset(68)] + public uint DefinitionOrder; + + [FieldOffset(72)] + public Std.Vector PreprocessedEntities; + + [FieldOffset(84)] + public void* OriginalPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Declaration@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Declaration1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Declaration@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Declaration2(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Declaration(Declaration.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Declaration(Declaration.Internal native) + : this(&native) + { + } + + internal Declaration(global::System.IntPtr native) + { + __Instance = native; + } + + public Declaration() + { + __Instance = Marshal.AllocHGlobal(88); + Internal.Declaration2(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AccessSpecifier Access + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Access; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Access = value; + } + } + + public CppSharp.Parser.DeclarationContext _Namespace + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->_Namespace); + return new CppSharp.Parser.DeclarationContext(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->_Namespace = value.__Instance; + } + } + + public Std.String Name + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Name; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Name = new Std.String(); + } + } + + public CppSharp.Parser.RawComment Comment + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Comment); + return new CppSharp.Parser.RawComment(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Comment = value.__Instance; + } + } + + public Std.String DebugText + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DebugText; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DebugText = new Std.String(); + } + } + + public bool IsIncomplete + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsIncomplete; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsIncomplete = value; + } + } + + public bool IsDependent + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDependent; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDependent = value; + } + } + + public CppSharp.Parser.Declaration CompleteDeclaration + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->CompleteDeclaration); + return new CppSharp.Parser.Declaration(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CompleteDeclaration = value.__Instance; + } + } + + public uint DefinitionOrder + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->DefinitionOrder; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->DefinitionOrder = value; + } + } + + public Std.Vector PreprocessedEntities + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->PreprocessedEntities); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->PreprocessedEntities = value.Internal; + } + } + + public void* OriginalPtr + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->OriginalPtr; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->OriginalPtr = value; + } + } + } + + public unsafe partial class DeclarationContext : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 180)] + public new struct Internal + { + [FieldOffset(88)] + public Std.Vector Namespaces; + + [FieldOffset(100)] + public Std.Vector Enums; + + [FieldOffset(112)] + public Std.Vector Functions; + + [FieldOffset(124)] + public Std.Vector Classes; + + [FieldOffset(136)] + public Std.Vector Templates; + + [FieldOffset(148)] + public Std.Vector Typedefs; + + [FieldOffset(160)] + public Std.Vector Variables; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclarationContext@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr DeclarationContext1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DeclarationContext@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr DeclarationContext2(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindAnonymous@DeclarationContext@CppParser@CppSharp@@QAEPAUDeclaration@23@_K@Z")] + public static extern global::System.IntPtr FindAnonymous0(global::System.IntPtr instance, ulong key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindNamespace@DeclarationContext@CppParser@CppSharp@@QAEPAUNamespace@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + public static extern global::System.IntPtr FindNamespace0(global::System.IntPtr instance, Std.String Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindNamespace@DeclarationContext@CppParser@CppSharp@@QAEPAUNamespace@23@ABV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@@Z")] + public static extern global::System.IntPtr FindNamespace1(global::System.IntPtr instance, Std.Vector _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindCreateNamespace@DeclarationContext@CppParser@CppSharp@@QAEPAUNamespace@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + public static extern global::System.IntPtr FindCreateNamespace0(global::System.IntPtr instance, Std.String Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?CreateClass@DeclarationContext@CppParser@CppSharp@@QAEPAUClass@23@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z")] + public static extern global::System.IntPtr CreateClass0(global::System.IntPtr instance, Std.String Name, bool IsComplete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindClass@DeclarationContext@CppParser@CppSharp@@QAEPAUClass@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + public static extern global::System.IntPtr FindClass0(global::System.IntPtr instance, Std.String Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindClass@DeclarationContext@CppParser@CppSharp@@QAEPAUClass@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N1@Z")] + public static extern global::System.IntPtr FindClass1(global::System.IntPtr instance, Std.String Name, bool IsComplete, bool Create); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindEnum@DeclarationContext@CppParser@CppSharp@@QAEPAUEnumeration@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z")] + public static extern global::System.IntPtr FindEnum0(global::System.IntPtr instance, Std.String Name, bool Create); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindFunction@DeclarationContext@CppParser@CppSharp@@QAEPAUFunction@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z")] + public static extern global::System.IntPtr FindFunction0(global::System.IntPtr instance, Std.String Name, bool Create); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindTypedef@DeclarationContext@CppParser@CppSharp@@QAEPAUTypedefDecl@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z")] + public static extern global::System.IntPtr FindTypedef0(global::System.IntPtr instance, Std.String Name, bool Create); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal DeclarationContext(DeclarationContext.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal DeclarationContext(DeclarationContext.Internal native) + : this(&native) + { + } + + internal DeclarationContext(global::System.IntPtr native) + : base(native) + { + } + + public DeclarationContext() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(180); + Internal.DeclarationContext2(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.Declaration FindAnonymous(ulong key) + { + var arg0 = key; + var __ret = Internal.FindAnonymous0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Declaration(__ret); + } + + public CppSharp.Parser.Namespace FindNamespace(Std.String Name) + { + var arg0 = new Std.String(); + var __ret = Internal.FindNamespace0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Namespace(__ret); + } + + public CppSharp.Parser.Namespace FindNamespace(Std.Vector _0) + { + var arg0 = _0.Internal; + var __ret = Internal.FindNamespace1(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Namespace(__ret); + } + + public CppSharp.Parser.Namespace FindCreateNamespace(Std.String Name) + { + var arg0 = new Std.String(); + var __ret = Internal.FindCreateNamespace0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Namespace(__ret); + } + + public CppSharp.Parser.Class CreateClass(Std.String Name, bool IsComplete) + { + var arg0 = new Std.String(); + var __ret = Internal.CreateClass0(__Instance, arg0, IsComplete); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Class(__ret); + } + + public CppSharp.Parser.Class FindClass(Std.String Name) + { + var arg0 = new Std.String(); + var __ret = Internal.FindClass0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Class(__ret); + } + + public CppSharp.Parser.Class FindClass(Std.String Name, bool IsComplete, bool Create) + { + var arg0 = new Std.String(); + var __ret = Internal.FindClass1(__Instance, arg0, IsComplete, Create); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Class(__ret); + } + + public CppSharp.Parser.Enumeration FindEnum(Std.String Name, bool Create) + { + var arg0 = new Std.String(); + var __ret = Internal.FindEnum0(__Instance, arg0, Create); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Enumeration(__ret); + } + + public CppSharp.Parser.Function FindFunction(Std.String Name, bool Create) + { + var arg0 = new Std.String(); + var __ret = Internal.FindFunction0(__Instance, arg0, Create); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.Function(__ret); + } + + public CppSharp.Parser.TypedefDecl FindTypedef(Std.String Name, bool Create) + { + var arg0 = new Std.String(); + var __ret = Internal.FindTypedef0(__Instance, arg0, Create); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.TypedefDecl(__ret); + } + + public Std.Vector Namespaces + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Namespaces); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Namespaces = value.Internal; + } + } + + public Std.Vector Enums + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Enums); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Enums = value.Internal; + } + } + + public Std.Vector Functions + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Functions); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Functions = value.Internal; + } + } + + public Std.Vector Classes + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Classes); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Classes = value.Internal; + } + } + + public Std.Vector Templates + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Templates); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Templates = value.Internal; + } + } + + public Std.Vector Typedefs + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Typedefs); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Typedefs = value.Internal; + } + } + + public Std.Vector Variables + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Variables); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Variables = value.Internal; + } + } + } + + public unsafe partial class TypedefDecl : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefDecl@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr TypedefDecl0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefDecl@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TypedefDecl1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TypedefDecl(TypedefDecl.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TypedefDecl(TypedefDecl.Internal native) + : this(&native) + { + } + + internal TypedefDecl(global::System.IntPtr native) + : base(native) + { + } + + public TypedefDecl() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(96); + Internal.TypedefDecl0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + } + + public unsafe partial class Parameter : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 100)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.QualifiedType.Internal QualifiedType; + + [FieldOffset(96)] + public bool IsIndirect; + + [FieldOffset(97)] + public bool HasDefaultValue; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Parameter@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Parameter0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Parameter@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Parameter1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Parameter(Parameter.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Parameter(Parameter.Internal native) + : this(&native) + { + } + + internal Parameter(global::System.IntPtr native) + : base(native) + { + } + + public Parameter() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(100); + Internal.Parameter0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public bool IsIndirect + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsIndirect; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsIndirect = value; + } + } + + public bool HasDefaultValue + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasDefaultValue; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasDefaultValue = value; + } + } + } + + public unsafe partial class Function : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.QualifiedType.Internal ReturnType; + + [FieldOffset(96)] + public bool IsReturnIndirect; + + [FieldOffset(97)] + public bool IsVariadic; + + [FieldOffset(98)] + public bool IsInline; + + [FieldOffset(99)] + public bool IsPure; + + [FieldOffset(100)] + public CppSharp.Parser.CXXOperatorKind OperatorKind; + + [FieldOffset(104)] + public Std.String Mangled; + + [FieldOffset(128)] + public CppSharp.Parser.CallingConvention CallingConvention; + + [FieldOffset(132)] + public Std.Vector Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Function@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Function0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Function@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Function2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Function(Function.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Function(Function.Internal native) + : this(&native) + { + } + + internal Function(global::System.IntPtr native) + : base(native) + { + } + + public Function() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(144); + Internal.Function0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType ReturnType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->ReturnType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ReturnType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public bool IsReturnIndirect + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsReturnIndirect; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsReturnIndirect = value; + } + } + + public bool IsVariadic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVariadic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVariadic = value; + } + } + + public bool IsInline + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsInline; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsInline = value; + } + } + + public bool IsPure + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPure; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPure = value; + } + } + + public CppSharp.Parser.CXXOperatorKind OperatorKind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->OperatorKind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->OperatorKind = value; + } + } + + public Std.String Mangled + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Mangled; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Mangled = new Std.String(); + } + } + + public CppSharp.Parser.CallingConvention CallingConvention + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->CallingConvention; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->CallingConvention = value; + } + } + + public Std.Vector Parameters + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Parameters); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Parameters = value.Internal; + } + } + } + + public unsafe partial class Method : CppSharp.Parser.Function, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 164)] + public new struct Internal + { + [FieldOffset(144)] + public global::System.IntPtr AccessDecl; + + [FieldOffset(148)] + public bool IsVirtual; + + [FieldOffset(149)] + public bool IsStatic; + + [FieldOffset(150)] + public bool IsConst; + + [FieldOffset(151)] + public bool IsImplicit; + + [FieldOffset(152)] + public bool IsOverride; + + [FieldOffset(156)] + public CppSharp.Parser.CXXMethodKind Kind; + + [FieldOffset(160)] + public bool IsDefaultConstructor; + + [FieldOffset(161)] + public bool IsCopyConstructor; + + [FieldOffset(162)] + public bool IsMoveConstructor; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Method@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Method0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Method@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Method1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Method(Method.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Method(Method.Internal native) + : this(&native) + { + } + + internal Method(global::System.IntPtr native) + : base(native) + { + } + + public Method() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(164); + Internal.Method0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.AccessSpecifierDecl AccessDecl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->AccessDecl); + return new CppSharp.Parser.AccessSpecifierDecl(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->AccessDecl = value.__Instance; + } + } + + public bool IsVirtual + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVirtual; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVirtual = value; + } + } + + public bool IsStatic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsStatic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsStatic = value; + } + } + + public bool IsConst + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsConst; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsConst = value; + } + } + + public bool IsImplicit + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsImplicit; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsImplicit = value; + } + } + + public bool IsOverride + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsOverride; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsOverride = value; + } + } + + public CppSharp.Parser.CXXMethodKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDefaultConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDefaultConstructor = value; + } + } + + public bool IsCopyConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsCopyConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsCopyConstructor = value; + } + } + + public bool IsMoveConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsMoveConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsMoveConstructor = value; + } + } + } + + public unsafe partial class Enumeration : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.Enumeration.EnumModifiers Modifiers; + + [FieldOffset(92)] + public global::System.IntPtr Type; + + [FieldOffset(96)] + public global::System.IntPtr BuiltinType; + + [FieldOffset(100)] + public Std.Vector Items; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Enumeration@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Enumeration1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Enumeration@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Enumeration2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new struct Internal + { + [FieldOffset(88)] + public Std.String Name; + + [FieldOffset(112)] + public Std.String Expression; + + [FieldOffset(136)] + public Std.String Comment; + + [FieldOffset(160)] + public ulong Value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Item1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@CppParser@CppSharp@@QAE@ABU0123@@Z")] + public static extern global::System.IntPtr Item2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Item(Item.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Item(Item.Internal native) + : this(&native) + { + } + + internal Item(global::System.IntPtr native) + : base(native) + { + } + + public Item() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(168); + Internal.Item1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.String Name + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Name; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Name = new Std.String(); + } + } + + public Std.String Expression + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Expression; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Expression = new Std.String(); + } + } + + public Std.String Comment + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Comment; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Comment = new Std.String(); + } + } + + public ulong Value + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Value; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Value = value; + } + } + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Enumeration(Enumeration.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Enumeration(Enumeration.Internal native) + : this(&native) + { + } + + internal Enumeration(global::System.IntPtr native) + : base(native) + { + } + + public Enumeration() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(112); + Internal.Enumeration1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.Enumeration.EnumModifiers Modifiers + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Modifiers; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Modifiers = value; + } + } + + public CppSharp.Parser.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Type); + return new CppSharp.Parser.Type(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value.__Instance; + } + } + + public CppSharp.Parser.BuiltinType BuiltinType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->BuiltinType); + return new CppSharp.Parser.BuiltinType(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->BuiltinType = value.__Instance; + } + } + + public Std.Vector Items + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Items); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Items = value.Internal; + } + } + } + + public unsafe partial class Variable : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new struct Internal + { + [FieldOffset(88)] + public Std.String Mangled; + + [FieldOffset(112)] + public CppSharp.Parser.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Variable@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Variable1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Variable@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Variable2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Variable(Variable.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Variable(Variable.Internal native) + : this(&native) + { + } + + internal Variable(global::System.IntPtr native) + : base(native) + { + } + + public Variable() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(120); + Internal.Variable1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.String Mangled + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Mangled; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Mangled = new Std.String(); + } + } + + public CppSharp.Parser.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + } + + public unsafe partial class BaseClassSpecifier : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AccessSpecifier Access; + + [FieldOffset(4)] + public bool IsVirtual; + + [FieldOffset(8)] + public global::System.IntPtr Type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BaseClassSpecifier@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr BaseClassSpecifier1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal BaseClassSpecifier(BaseClassSpecifier.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal BaseClassSpecifier(BaseClassSpecifier.Internal native) + : this(&native) + { + } + + internal BaseClassSpecifier(global::System.IntPtr native) + { + __Instance = native; + } + + public BaseClassSpecifier() + { + __Instance = Marshal.AllocHGlobal(12); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AccessSpecifier Access + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Access; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Access = value; + } + } + + public bool IsVirtual + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsVirtual; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsVirtual = value; + } + } + + public CppSharp.Parser.Type Type + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Type); + return new CppSharp.Parser.Type(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Type = value.__Instance; + } + } + } + + public unsafe partial class Field : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 108)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.QualifiedType.Internal QualifiedType; + + [FieldOffset(96)] + public CppSharp.Parser.AccessSpecifier Access; + + [FieldOffset(100)] + public uint Offset; + + [FieldOffset(104)] + public global::System.IntPtr Class; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Field@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Field0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Field@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Field1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Field(Field.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Field(Field.Internal native) + : this(&native) + { + } + + internal Field(global::System.IntPtr native) + : base(native) + { + } + + public Field() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(108); + Internal.Field0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.QualifiedType QualifiedType + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->QualifiedType); + var __instance = Marshal.AllocHGlobal(8); + CppSharp.Runtime.Helpers.memcpy(__instance, new IntPtr(&__copy), new UIntPtr(8)); + return new CppSharp.Parser.QualifiedType(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->QualifiedType = *(CppSharp.Parser.QualifiedType.Internal*)value.__Instance; + } + } + + public CppSharp.Parser.AccessSpecifier Access + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Access; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Access = value; + } + } + + public uint Offset + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Offset; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Offset = value; + } + } + + public CppSharp.Parser.Class Class + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Class); + return new CppSharp.Parser.Class(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Class = value.__Instance; + } + } + } + + public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AccessSpecifierDecl@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr AccessSpecifierDecl0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AccessSpecifierDecl@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr AccessSpecifierDecl1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal AccessSpecifierDecl(AccessSpecifierDecl.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal AccessSpecifierDecl(AccessSpecifierDecl.Internal native) + : this(&native) + { + } + + internal AccessSpecifierDecl(global::System.IntPtr native) + : base(native) + { + } + + public AccessSpecifierDecl() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(88); + Internal.AccessSpecifierDecl0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class Class : CppSharp.Parser.DeclarationContext, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 284)] + public new struct Internal + { + [FieldOffset(180)] + public Std.Vector Bases; + + [FieldOffset(192)] + public Std.Vector Fields; + + [FieldOffset(204)] + public Std.Vector Methods; + + [FieldOffset(216)] + public Std.Vector Specifiers; + + [FieldOffset(228)] + public bool IsPOD; + + [FieldOffset(229)] + public bool IsAbstract; + + [FieldOffset(230)] + public bool IsUnion; + + [FieldOffset(231)] + public bool IsDynamic; + + [FieldOffset(232)] + public bool IsPolymorphic; + + [FieldOffset(233)] + public bool HasNonTrivialDefaultConstructor; + + [FieldOffset(234)] + public bool HasNonTrivialCopyConstructor; + + [FieldOffset(236)] + public CppSharp.Parser.ClassLayout.Internal Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Class@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Class1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Class@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Class2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Class(Class.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Class(Class.Internal native) + : this(&native) + { + } + + internal Class(global::System.IntPtr native) + : base(native) + { + } + + public Class() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(284); + Internal.Class1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.Vector Bases + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Bases); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Bases = value.Internal; + } + } + + public Std.Vector Fields + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Fields); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Fields = value.Internal; + } + } + + public Std.Vector Methods + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Methods); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Methods = value.Internal; + } + } + + public Std.Vector Specifiers + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Specifiers); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Specifiers = value.Internal; + } + } + + public bool IsPOD + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPOD; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPOD = value; + } + } + + public bool IsAbstract + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsAbstract; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsAbstract = value; + } + } + + public bool IsUnion + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsUnion; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsUnion = value; + } + } + + public bool IsDynamic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsDynamic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsDynamic = value; + } + } + + public bool IsPolymorphic + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsPolymorphic; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsPolymorphic = value; + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasNonTrivialDefaultConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasNonTrivialDefaultConstructor = value; + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->HasNonTrivialCopyConstructor; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->HasNonTrivialCopyConstructor = value; + } + } + + public CppSharp.Parser.ClassLayout Layout + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Layout); + var __instance = Marshal.AllocHGlobal(48); + CppSharp.Parser.ClassLayout.Internal.ClassLayout1(__instance, new global::System.IntPtr(&__copy)); + return new CppSharp.Parser.ClassLayout(__instance); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Layout = *(CppSharp.Parser.ClassLayout.Internal*)value.__Instance; + } + } + } + + public unsafe partial class Template : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new struct Internal + { + [FieldOffset(88)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(92)] + public Std.Vector Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Template@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Template1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Template@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Template2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Template(Template.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Template(Template.Internal native) + : this(&native) + { + } + + internal Template(global::System.IntPtr native) + : base(native) + { + } + + public Template() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(104); + Internal.Template1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.Declaration TemplatedDecl + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->TemplatedDecl); + return new CppSharp.Parser.Declaration(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TemplatedDecl = value.__Instance; + } + } + + public Std.Vector Parameters + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Parameters); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Parameters = value.Internal; + } + } + } + + public unsafe partial class ClassTemplate : CppSharp.Parser.Template, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplate@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ClassTemplate0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplate@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ClassTemplate1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ClassTemplate(ClassTemplate.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplate(ClassTemplate.Internal native) + : this(&native) + { + } + + internal ClassTemplate(global::System.IntPtr native) + : base(native) + { + } + + public ClassTemplate() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(104); + Internal.ClassTemplate0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplateSpecialization@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ClassTemplateSpecialization0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplateSpecialization@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ClassTemplateSpecialization1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ClassTemplateSpecialization(ClassTemplateSpecialization.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native) + : this(&native) + { + } + + internal ClassTemplateSpecialization(global::System.IntPtr native) + : base(native) + { + } + + public ClassTemplateSpecialization() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(88); + Internal.ClassTemplateSpecialization0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplatePartialSpecialization@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ClassTemplatePartialSpecialization0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplatePartialSpecialization@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ClassTemplatePartialSpecialization1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native) + : this(&native) + { + } + + internal ClassTemplatePartialSpecialization(global::System.IntPtr native) + : base(native) + { + } + + public ClassTemplatePartialSpecialization() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(88); + Internal.ClassTemplatePartialSpecialization0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class FunctionTemplate : CppSharp.Parser.Template, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionTemplate@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr FunctionTemplate0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionTemplate@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr FunctionTemplate1(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal FunctionTemplate(FunctionTemplate.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal FunctionTemplate(FunctionTemplate.Internal native) + : this(&native) + { + } + + internal FunctionTemplate(global::System.IntPtr native) + : base(native) + { + } + + public FunctionTemplate() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(104); + Internal.FunctionTemplate0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class Namespace : CppSharp.Parser.DeclarationContext, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 180)] + public new struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Namespace@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Namespace1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Namespace@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Namespace2(global::System.IntPtr instance); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Namespace(Namespace.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Namespace(Namespace.Internal native) + : this(&native) + { + } + + internal Namespace(global::System.IntPtr native) + : base(native) + { + } + + public Namespace() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(180); + Internal.Namespace2(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + } + + public unsafe partial class PreprocessedEntity : CppSharp.Parser.Declaration, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 92)] + public new struct Internal + { + [FieldOffset(88)] + public CppSharp.Parser.MacroLocation Location; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PreprocessedEntity@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr PreprocessedEntity0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PreprocessedEntity@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr PreprocessedEntity2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal PreprocessedEntity(PreprocessedEntity.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal PreprocessedEntity(PreprocessedEntity.Internal native) + : this(&native) + { + } + + internal PreprocessedEntity(global::System.IntPtr native) + : base(native) + { + } + + public PreprocessedEntity() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(92); + Internal.PreprocessedEntity0(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public CppSharp.Parser.MacroLocation Location + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Location; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Location = value; + } + } + } + + public unsafe partial class MacroDefinition : CppSharp.Parser.PreprocessedEntity, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 116)] + public new struct Internal + { + [FieldOffset(92)] + public Std.String Expression; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroDefinition@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr MacroDefinition1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroDefinition@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr MacroDefinition2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal MacroDefinition(MacroDefinition.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MacroDefinition(MacroDefinition.Internal native) + : this(&native) + { + } + + internal MacroDefinition(global::System.IntPtr native) + : base(native) + { + } + + public MacroDefinition() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(116); + Internal.MacroDefinition1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.String Expression + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Expression; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Expression = new Std.String(); + } + } + } + + public unsafe partial class MacroExpansion : CppSharp.Parser.PreprocessedEntity, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new struct Internal + { + [FieldOffset(92)] + public Std.String Text; + + [FieldOffset(116)] + public global::System.IntPtr Definition; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroExpansion@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr MacroExpansion1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroExpansion@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr MacroExpansion2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal MacroExpansion(MacroExpansion.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal MacroExpansion(MacroExpansion.Internal native) + : this(&native) + { + } + + internal MacroExpansion(global::System.IntPtr native) + : base(native) + { + } + + public MacroExpansion() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(120); + Internal.MacroExpansion1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.String Text + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Text; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Text = new Std.String(); + } + } + + public CppSharp.Parser.MacroDefinition Definition + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Definition); + return new CppSharp.Parser.MacroDefinition(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Definition = value.__Instance; + } + } + } + + public unsafe partial class TranslationUnit : CppSharp.Parser.Namespace, IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new struct Internal + { + [FieldOffset(180)] + public Std.String FileName; + + [FieldOffset(204)] + public bool IsSystemHeader; + + [FieldOffset(208)] + public Std.Vector Namespaces; + + [FieldOffset(220)] + public Std.Vector Macros; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TranslationUnit@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr TranslationUnit1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TranslationUnit@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr TranslationUnit2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal TranslationUnit(TranslationUnit.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal TranslationUnit(TranslationUnit.Internal native) + : this(&native) + { + } + + internal TranslationUnit(global::System.IntPtr native) + : base(native) + { + } + + public TranslationUnit() + : this(IntPtr.Zero) + { + __Instance = Marshal.AllocHGlobal(232); + Internal.TranslationUnit1(__Instance); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public Std.String FileName + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FileName; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FileName = new Std.String(); + } + } + + public bool IsSystemHeader + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->IsSystemHeader; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IsSystemHeader = value; + } + } + + public Std.Vector Namespaces + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Namespaces); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Namespaces = value.Internal; + } + } + + public Std.Vector Macros + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Macros); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Macros = value.Internal; + } + } + } + + public unsafe partial class NativeLibrary : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public struct Internal + { + [FieldOffset(0)] + public Std.String FileName; + + [FieldOffset(24)] + public Std.Vector Symbols; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NativeLibrary@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr NativeLibrary1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NativeLibrary@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr NativeLibrary2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal NativeLibrary(NativeLibrary.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal NativeLibrary(NativeLibrary.Internal native) + : this(&native) + { + } + + internal NativeLibrary(global::System.IntPtr native) + { + __Instance = native; + } + + public NativeLibrary() + { + __Instance = Marshal.AllocHGlobal(36); + Internal.NativeLibrary1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public Std.String FileName + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FileName; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FileName = new Std.String(); + } + } + + public Std.Vector Symbols + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Symbols); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Symbols = value.Internal; + } + } + } + + public unsafe partial class Library : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public struct Internal + { + [FieldOffset(0)] + public Std.Vector TranslationUnits; + + [FieldOffset(12)] + public Std.Vector Libraries; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Library@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr Library1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Library@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr Library2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindOrCreateModule@Library@CppParser@CppSharp@@QAEPAUTranslationUnit@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + public static extern global::System.IntPtr FindOrCreateModule0(global::System.IntPtr instance, Std.String File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindOrCreateLibrary@Library@CppParser@CppSharp@@QAEPAUNativeLibrary@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + public static extern global::System.IntPtr FindOrCreateLibrary0(global::System.IntPtr instance, Std.String File); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal Library(Library.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal Library(Library.Internal native) + : this(&native) + { + } + + internal Library(global::System.IntPtr native) + { + __Instance = native; + } + + public Library() + { + __Instance = Marshal.AllocHGlobal(24); + Internal.Library1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.TranslationUnit FindOrCreateModule(Std.String File) + { + var arg0 = new Std.String(); + var __ret = Internal.FindOrCreateModule0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.TranslationUnit(__ret); + } + + public CppSharp.Parser.NativeLibrary FindOrCreateLibrary(Std.String File) + { + var arg0 = new Std.String(); + var __ret = Internal.FindOrCreateLibrary0(__Instance, arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.NativeLibrary(__ret); + } + + public Std.Vector TranslationUnits + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->TranslationUnits); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TranslationUnits = value.Internal; + } + } + + public Std.Vector Libraries + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Libraries); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Libraries = value.Internal; + } + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/CppParser.cs b/src/CppParser/Bindings/CSharp/CppParser.cs new file mode 100644 index 00000000..439ca7e0 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/CppParser.cs @@ -0,0 +1,675 @@ +//---------------------------------------------------------------------------- +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +//---------------------------------------------------------------------------- +using CppSharp.Runtime; +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum ParserDiagnosticLevel + { + Ignored = 0, + Note = 1, + Warning = 2, + Error = 3, + Fatal = 4 + } + + public enum ParserResultKind + { + Success = 0, + Error = 1, + FileNotFound = 2 + } + + public enum SourceLocationKind + { + Invalid = 0, + Builtin = 1, + CommandLine = 2, + System = 3, + User = 4 + } + + public unsafe partial class ParserOptions : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 116)] + public struct Internal + { + [FieldOffset(0)] + public Std.Vector IncludeDirs; + + [FieldOffset(12)] + public Std.Vector SystemIncludeDirs; + + [FieldOffset(24)] + public Std.Vector Defines; + + [FieldOffset(36)] + public Std.Vector LibraryDirs; + + [FieldOffset(48)] + public Std.String FileName; + + [FieldOffset(72)] + public global::System.IntPtr Library; + + [FieldOffset(76)] + public int ToolSetToUse; + + [FieldOffset(80)] + public Std.String TargetTriple; + + [FieldOffset(104)] + public bool NoStandardIncludes; + + [FieldOffset(105)] + public bool NoBuiltinIncludes; + + [FieldOffset(106)] + public bool MicrosoftMode; + + [FieldOffset(108)] + public CppSharp.Parser.CppAbi Abi; + + [FieldOffset(112)] + public bool Verbose; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserOptions@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ParserOptions0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserOptions@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ParserOptions2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ParserOptions(ParserOptions.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserOptions(ParserOptions.Internal native) + : this(&native) + { + } + + internal ParserOptions(global::System.IntPtr native) + { + __Instance = native; + } + + public ParserOptions() + { + __Instance = Marshal.AllocHGlobal(116); + Internal.ParserOptions0(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public Std.Vector IncludeDirs + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->IncludeDirs); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->IncludeDirs = value.Internal; + } + } + + public Std.Vector SystemIncludeDirs + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->SystemIncludeDirs); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->SystemIncludeDirs = value.Internal; + } + } + + public Std.Vector Defines + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Defines); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Defines = value.Internal; + } + } + + public Std.Vector LibraryDirs + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->LibraryDirs); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LibraryDirs = value.Internal; + } + } + + public Std.String FileName + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FileName; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FileName = new Std.String(); + } + } + + public CppSharp.Parser.Library Library + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Library); + return new CppSharp.Parser.Library(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Library = value.__Instance; + } + } + + public int ToolSetToUse + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ToolSetToUse; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ToolSetToUse = value; + } + } + + public Std.String TargetTriple + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->TargetTriple; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->TargetTriple = new Std.String(); + } + } + + public bool NoStandardIncludes + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->NoStandardIncludes; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->NoStandardIncludes = value; + } + } + + public bool NoBuiltinIncludes + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->NoBuiltinIncludes; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->NoBuiltinIncludes = value; + } + } + + public bool MicrosoftMode + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->MicrosoftMode; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->MicrosoftMode = value; + } + } + + public CppSharp.Parser.CppAbi Abi + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Abi; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Abi = value; + } + } + + public bool Verbose + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Verbose; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Verbose = value; + } + } + } + + public unsafe partial class ParserDiagnostic : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 60)] + public struct Internal + { + [FieldOffset(0)] + public Std.String FileName; + + [FieldOffset(24)] + public Std.String Message; + + [FieldOffset(48)] + public CppSharp.Parser.ParserDiagnosticLevel Level; + + [FieldOffset(52)] + public int LineNumber; + + [FieldOffset(56)] + public int ColumnNumber; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserDiagnostic@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ParserDiagnostic1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserDiagnostic@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ParserDiagnostic2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ParserDiagnostic(ParserDiagnostic.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserDiagnostic(ParserDiagnostic.Internal native) + : this(&native) + { + } + + internal ParserDiagnostic(global::System.IntPtr native) + { + __Instance = native; + } + + public ParserDiagnostic() + { + __Instance = Marshal.AllocHGlobal(60); + Internal.ParserDiagnostic1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public Std.String FileName + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->FileName; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->FileName = new Std.String(); + } + } + + public Std.String Message + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Message; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Message = new Std.String(); + } + } + + public CppSharp.Parser.ParserDiagnosticLevel Level + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Level; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Level = value; + } + } + + public int LineNumber + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->LineNumber; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->LineNumber = value; + } + } + + public int ColumnNumber + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->ColumnNumber; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->ColumnNumber = value; + } + } + } + + public unsafe partial class ParserResult : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.ParserResultKind Kind; + + [FieldOffset(4)] + public global::System.IntPtr Library; + + [FieldOffset(8)] + public Std.Vector Diagnostics; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserResult@CppParser@CppSharp@@QAE@XZ")] + public static extern global::System.IntPtr ParserResult1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ParserResult@CppParser@CppSharp@@QAE@ABU012@@Z")] + public static extern global::System.IntPtr ParserResult2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ParserResult(ParserResult.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ParserResult(ParserResult.Internal native) + : this(&native) + { + } + + internal ParserResult(global::System.IntPtr native) + { + __Instance = native; + } + + public ParserResult() + { + __Instance = Marshal.AllocHGlobal(20); + Internal.ParserResult1(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.ParserResultKind Kind + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return __ptr->Kind; + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Kind = value; + } + } + + public CppSharp.Parser.Library Library + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + var __copy = new global::System.IntPtr(&__ptr->Library); + return new CppSharp.Parser.Library(__copy); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Library = value.__Instance; + } + } + + public Std.Vector Diagnostics + { + get + { + var __ptr = (Internal*)__Instance.ToPointer(); + return new Std.Vector(__ptr->Diagnostics); + } + + set + { + var __ptr = (Internal*)__Instance.ToPointer(); + __ptr->Diagnostics = value.Internal; + } + } + } + + public unsafe partial class ClangParser : IDisposable, ICppMarshal + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClangParser@CppParser@CppSharp@@QAE@ABV012@@Z")] + public static extern global::System.IntPtr ClangParser1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?ParseHeader@ClangParser@CppParser@CppSharp@@SAPAUParserResult@23@PAUParserOptions@23@@Z")] + public static extern global::System.IntPtr ParseHeader0(global::System.IntPtr Opts); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?ParseLibrary@ClangParser@CppParser@CppSharp@@SAPAUParserResult@23@PAUParserOptions@23@@Z")] + public static extern global::System.IntPtr ParseLibrary0(global::System.IntPtr Opts); + } + + public global::System.IntPtr __Instance { get; protected set; } + + void ICppMarshal.MarshalManagedToNative(IntPtr instance) + { + } + + void ICppMarshal.MarshalNativeToManaged(IntPtr instance) + { + } + + internal ClangParser(ClangParser.Internal* native) + : this(new global::System.IntPtr(native)) + { + } + + internal ClangParser(ClangParser.Internal native) + : this(&native) + { + } + + internal ClangParser(global::System.IntPtr native) + { + __Instance = native; + } + + public ClangParser() + { + __Instance = Marshal.AllocHGlobal(1); + } + + public void Dispose() + { + Dispose(disposing: true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + Marshal.FreeHGlobal(__Instance); + } + + public static CppSharp.Parser.ParserResult ParseHeader(CppSharp.Parser.ParserOptions Opts) + { + var arg0 = Opts.__Instance; + var __ret = Internal.ParseHeader0(arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.ParserResult(__ret); + } + + public static CppSharp.Parser.ParserResult ParseLibrary(CppSharp.Parser.ParserOptions Opts) + { + var arg0 = Opts.__Instance; + var __ret = Internal.ParseLibrary0(arg0); + if (__ret == global::System.IntPtr.Zero) return null; + return new CppSharp.Parser.ParserResult(__ret); + } + } + } +}